ugrás a tartalomhoz

Egy táblában a GROUP BY és az összes rekord logikai különbsége.

s_volenszki · 2008. Jan. 16. (Sze), 09.57
Ha egy táblában, tételezzük fel egy rekord, azonosítóból, vezetéknévből és keresztnévből áll, egy GROUP BY keresztnev lekérdezéssel megkapom, hogy hány különböző keresztnév található a táblában.

Nekem olyan lekérdezést kellene lefuttatnom, ami az összes rekord és a GROUP BY keresztnév logikai különbsége, tehát azokat az azonosítókat adja eredményképpen, amelyekből több van.

pl.:

|azonosito|vezeteknev|keresztnev|
| 1 | Anda | Balázs |
| 2 | Balla | Tamás |
| 3 | Horváth | Jenő |
| 4 | Takáts | Balázs |
| 5 | Óh | László |
| 6 | Petroff | Jenő |
| 7 | Querty | Balázs |

Eredmény (azonosito):
1,4,7,3,6

De még az is jó lenne, ha minden azonosból az első azonosítót mekapnám, tehát:
1,3

Ha beleteszek egy COUNT(azonosito)-t a lekérdezésbe, akkor a rekord hordozza az információt, hogy a feltétel szerint belőle egy, vagy több van, csak ebben az esetben minden megfelelő rekord benne lesz a találatban, nem csak a többször előfordulók.

s_volenszki
 
1

Having

Ronyn · 2008. Jan. 16. (Sze), 14.26
Ilyesmire gondolsz?
SELECT k_nev,COUNT(DISTINCT(k_nev)) FROM nevek GROUP BY k_nev HAVING COUNT(DISTINCT(k_nev))>1
2

mi értelme a distinctnek...

Hodicska Gergely · 2008. Jan. 18. (P), 13.23
...group by mellett?


Üdv,
Felhő
3

Köszönöm.

s_volenszki · 2008. Jan. 18. (P), 21.14
Bocsi, egy kicsit el voltam havazva a napokban...

Olvasgatom a MySql Manualt a HAVING környékén, és úgy gondolom, ezt kerestem. A hétvégén kipróbálom!

Köszönöm