Bal oldali csatlakozás és beágyazott lekérdezések - a mindennapi feladatok megoldása


Ez azt jelenti, hogy minden napra kiszámítjuk a napi megrendelések számát, a napi ügyfelek számát és a teljes napi forgalmat.

Kezdjük a sorrendben, és először egyedi időpontokat választunk lekérdezés alapján







Ez mind elemi, szóval add meg a napi megrendelések számát. Ez segíteni fog nekünk a BAL JOIN (vagy a BAL KÜLSŐ CSATLAKOZÁS) - a kinek ez tetszik jobban. Belsejében nem egy kész táblát használunk, hanem egy lekérdezés eredményét, amely számolni fogja a számokat. Próbáljuk meg hozzáfűzni

Már léteznek olyan álnevek is, amelyek kizárják a nevek egybeesését. A LEFT JOIN lekérdezésen belül nemcsak a megrendelések számát, hanem a dátumot is megkapjuk, így ugyanazokat a megrendeléseket is helyesen lehet hozzáadni ezekhez a dátumokhoz.

Logikus feltételezni, hogy a fennmaradó oszlopokat ugyanúgy adják hozzá. A vásárlók számához egy újabb BALLEG csatlakozást adunk hozzá







Itt a COUNT (DISTINCT) konstrukció kerül hozzáadásra a kérelemben, ami kizárja a helytelen számolási eredményt, mert a 01.01-es 5 megrendelés közül csak három egyedi vásárló van!

A napi forgalom kiszámításához az SUM () SQL függvény segít nekünk.

Amint láthatja, hozzáadódik a harmadik LEFT JOIN, amely hozzáadja a szükséges értékeket. A lekérdezés fő részében folyamatosan használom az AS-operátort, így az oszlopnak egy emberbarát neve van. A LEFT JOIN AS (BAL JOIN AS) belsejében az értékeket a fő lekérdezéshez is kényelmesen átruházzák.

Általánosságban a lekérdezést elég gyorsan hajtják végre, de meg kell jegyezni, hogy ez elsősorban a beágyazott lekérdezések egyszerűségének, másrészt a munka egy kis táblázattal jár.

Tehát a kijáraton pontosan azt látjuk, amit látni akarunk!

Egyértelmű kód az Ön számára!

Navigáció rekordok szerint

Kedves nappali! Nem értem, én egy SELECT lekérdezést `-időpont FROM` sum` GROUP BY`-időpont - számára nem kérdés, majd kivett a SELECT s.date, t.count AS „a megrendelések száma” FROM összege s
LEFT JOIN (SELECT dátum, COUNT (order_id) AS számláló összeg összege CSOPORT dátum szerint) t ON s.date = t.dátum
GROUP BY s.date. milyen előtagok ezek? honnan jött a szám.szám? Kérem, magyarázza el