Egy ilyen adatbázis lekérdezést milyen módszerrel kéne megoldani? SQL
Több olyan feladattal is találkoztam már, mikor azokat az elemeket kell kiíratni, melyek többször szerepelnek az adott columnban, és csak azokat. Mindighibába ütközök.
Valakinek vanilyen esetreötlete?
Az én próbálkozásom (ami nyilván nem működik):
SELECT nev FROM nevek.allat
WHERE 1 < (SELECT count(nev) from nevek.allat GROUP BY nev);
SELECT nev
FROM nevek.allat
GROUP BY nev
HAVING count(1) > 1;
A #2 megoldás az egyszerű és ideillő. De amit te akartál, azt is meg lehetne csinálni, csak éppen aliasokat kell használni, mert ugyanazt a táblát használod kétszer, és így két néven kell szerepeltetni, és önmagával összekapcsolni.
SELECT nev FROM nevek.allat
WHERE 1 < (SELECT count(nev) from nevek.allat AS n1 WHERE n1.nev=nevek.allat.nev GROUP BY nev);
Nem teszteltem, csak fejből írtam.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!