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.

Minta bejegyzés a jelenlegi és a múlt hónapban sql

É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.

Tanulságok és cikkek