sql >> Databáze >  >> RDS >> Mysql

Dotaz MySQL roční týden aktuálního týdne se začátkem ve čtvrtek a koncem ve středu

Můžete využít WEEKDAY() což vrátí číslo představující den v týdnu (0 =pondělí, 6 =neděle) a několik jednoduchých matematických metod pro přepsání tohoto dotazu.

Odečtěte od vybraného data den v týdnu, kterým má týden začínat (ve vašem případě 4 =čtvrtek), přidejte 7 a zbytek odeberte od 7. Tím získáte počet dní, které je třeba odečíst, abyste získali začátek svého rozsahu.

Podobná logika platí pro výpočet data ukončení rozsahu.

SELECT * 
FROM transactions 
WHERE DATE(transactionDate)
    BETWEEN DATE_SUB(DATE(NOW()), INTERVAL (WEEKDAY(NOW()) - 4 + 7) % 7 DAY)
        AND DATE_ADD(DATE(NOW()), INTERVAL 6 - (WEEKDAY(NOW()) - 4 + 7) % 7 DAY)
ORDER BY transactionDate DESC;

Pro jiné počáteční datum nahraďte 4 den v týdnu v dotazu.



  1. hledat data z html vstupu v mysql

  2. Převést hodnotu mysql LONGTEXT na hodnotu VARCHAR?

  3. MySQL počítání odpovídajících slov

  4. Jak mohu přihlásit zobrazit procesní seznam, když existuje více než n dotazů?