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

PHP/MySQL:Načítání záznamů posledních *celých* týdnů

viz funkce MySQL YEARWEEK() .

Takže můžete udělat něco jako

SELECT * FROM table WHERE YEARWEEK(purchased) = YEARWEEK(NOW());

Počáteční den v týdnu můžete změnit pomocí druhého parametru režimu

Co by však mohlo být lepší, je nějak vypočítat datum „poslední neděle v 00:00“, a pak by databáze nemusela spouštět funkci pro každý řádek, ale v MySQL jsem neviděl zřejmý způsob, jak toho dosáhnout. . Můžete to však snadno vygenerovat v php a udělat něco jako

$sunday = date(('Y-m-d H:i:s'), strtotime('last sunday 00:00'));
$sql = "SELECT * FROM table WHERE purchased >= '$sunday'";


  1. jak spojit hodnotu z jiné tabulky se stejnou hodnotou podmínky

  2. Volání databázového pohledu v Yii pomocí Active Record

  3. SQL dotaz nezobrazuje očekávaný výsledek

  4. Jak poslat data z Androidu na mysql server?