Minulla on mySQL-tietokannassa taulu, jossa on kymmeniä tuhansia rivejä ja kymmenen saraketta. Sarakkeessa X on pelkästään sähköpostiosoitteita.
Haluaisin löytää taulusta ne rivit, joiden sähköpostiosoite esiintyy taulussa tasan 10 kertaa.
Onnistuuko tämä jotenkin?
No kyllähän se nyt purkalla ainakin onnistuu (tosin ei mitenkään tehokasta..)
Oskuz kirjoitti:
No kyllähän se nyt purkalla ainakin onnistuu (tosin ei mitenkään tehokasta..)
Ihan peruskysely ja onnistuu kyllä ilman purkkaakin...
SELECT X FROM Taulu GROUP BY X HAVING Count(X)=10
Grezin kysely hakee vain ne sähköpostiosoitteet. Kaikki rivit, joilla ne sähköpostiosoitteet esiintyvät, saa, kun käyttää Grezin kyselyä alikyselynä:
SELECT * FROM Taulu WHERE X IN (SELECT X FROM Taulu GROUP BY X HAVING COUNT(X) = 10)
Grezin kysely todettu toimivaksi, kiitos siitä!
Metabolixen kysely (kiitos siitäkin!) taisi pistää mySQL-serverin koville, kun tuntuu kestävän ja kestävän haku...
Sinänsä jännä että ei nyt luulisi noin pienellä taululla (kymmeniätuhansia rivejä) vielä kyykyttyvän.
Aihe on jo aika vanha, joten et voi enää vastata siihen.