Miért kell a GROUP BY ebbe az SQL lekérdezésbe?
Vannak áraim 500, 1000, 300, 500.
Le akarom kérdezni az árakat de úgy hogy ne legyen ismétlődés.
SELECT ar FROM arak GROUP BY ar HAVING COUNT(ar) = 1
Ha GROUP BY-t kihagyom üres szűrést ad. Mi a jelentősége? Formailag muszáj ott lennie?
@09:25
Köszönöm.
Ez jónak tűnik, de mi van ha a termék nevét is le akarom kérdezni nem csak az árát?
Hogy a kérdésre is legyen konkrét válasz:
SELECT ar FROM arak
Ez szimplán listázza az "arak" táblázat összes rekordjából (sorából) az árakat. (hosszú lista, és az árak sokszor ismétlődnek benne)
SELECT ar FROM arak GROUP BY ar
Az előbbi lista, csak az ismétlődő értékekből egy lesz.
SELECT ar FROM arak GROUP BY ar HAVING COUNT(ar) = 1
Ez igazából nem tesz hozzá, mivel egy olyan plusz feltétel, hogy csak azokat az árakat listázza, miből egy darab van, jelen esetben így nem szűr, - viszont GROUP BY nélkül mindegyik árból egynél többet listáz, így nem lesz olyan ár, amiből pontosan egy darab lenne kilistázva, szóval ezért lesz üres lista GROUP BY nélkül.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!