Minta bejegyzés a jelenlegi és a múlt hónapban sql
Minta bejegyzés a jelenlegi és a múlt hónapban az SQL
Gyakran, amikor dolgozik adatbázisokkal, meg kell mutatni a rekordokat az előző időszak, az elmúlt hónapban vagy héten például. Hogy megtanulják, hogyan kell ezt csinálni a MySql, nézzük meg az alábbiakban.
És igen, végre, mi területen a dátum legyen datetime formátumot. Példa: van egy tábla a megrendelések - érdekében van egy datetime területen - mint például egy DATETIME, mező - az összeget a sorrendben, az INT típus.

És tudnunk kell, hogy a számát és összegét megrendelések ma, az elmúlt hónapban és az előző hónapban.
Kezdjük egy mintát a tárgyak ma:
Nézzük laknak néhány pontot. COUNT (1) visszatér hozzánk - a rekordok száma a mintában.
CURDATE () függvény - Az aktuális dátumot.
Ennek megfelelően, a feltétel az orosz hangzik - „Válassz a bejegyzések számát abban a sorrendben táblázat, amely kielégíti a feltételt - úgy Datetime területen nagyobb, mint az aktuális dátum.” Közötti összehasonlítás típusát DATETIME teljesen korrekt a szempontból MySQL.
A megrendelések száma az aktuális hónapban
Bit bonyolítja az SQL-lekérdezést.
- Hónap () függvény a megadott szám a hónap;
- YEAR () függvény az év
- NOW () függvény az aktuális dátumot és időt.
Ennek megfelelően ebben az SQL lekérdezés összevetjük, hogy az aktuális hónap HÓNAP (NOW ()) a hónap megbízásokat, és hogy a folyó évben az év, amelyben a határozat meghozatalakor. SQL lekérdezés számolni a teljes összeg a megrendelések szinte azonos, és így néz ki:
Sum () függvény összefoglalni TOTAL_PRICE mező (összesen sorrendben) az összes rekordot az aktuális hónap, és visszatér egy számot - a teljes összeg a megrendelések az aktuális hónapban.
Annak ellenére, hogy a fenti lekérdezés teljesen megfelel a probléma, hogy nem optimális.
Optimális SQL ebben az esetben a lekérdezés nézne ki:
LAST_DAY () függvény a dátum, amely ellensúlyozza az utolsó napon a hónapban.
Ennek megfelelően LAST_DAY (CURDATE ()) design + IDŐKÖZ 1 NAP - Interval 1 hónap visszavezet bennünket az első nap az aktuális hónapban.
Ennek eredményeként, a feltétel csökkenti a „vissza az összes rekordot, amelyen belül több, mint az első napon az aktuális hónap, de kevesebb, mint az első napon a következő hónap.”
A megrendelések száma az előző hónapban
Van egy új dátum funkció - DATE_SUB ().
Ő elkötelezett a „kivonni” az azonos időpontban (az első adásra) egymással.
Sajnos a lecke véget ért, de holnap lesz egy új és nagyon érdekes.
Ui Ma már megtanulták, hogy az adatbázisból MySql fordulónap, a jelenlegi és az előző havi.
reprint jogok
Tisztelt látogató a honlapon!
Szia alábbi felhasználási feltételeket és reprint anyagokat a helyszínen /
Minden anyag ezen az oldalon készített az Ön által rám.