Moi,
Näin tällaisen esimerkin enkä oikein bonjaa sitä.
--Millä projekteilla on vähintään 3 henkilöä:
SELECT ptun, COUNT(*) AS lkm
FROM Prhe
GROUP BY ptun
HAVING COUNT (*)>=3
Mä en ymmärrä tuota counttia, miten se tietää niin selectissä kuin havingissä mistä se laskee tuon lukumäärän, koska suluissa on tähti? Sitten ymmärtäisin, jos sulkujen sisään laitettaisiin jokin arvo (sarake), jonka arvot se laskisi.
Näin tällaisen esimerkin enkä oikein bonjaa sitä.
--Millä projekteilla on vähintään 3 henkilöä:
SELECT ptun, COUNT(*) AS lkm
FROM Prhe
GROUP BY ptun
HAVING COUNT (*)>=3
Mä en ymmärrä tuota counttia, miten se tietää niin selectissä kuin havingissä mistä se laskee tuon lukumäärän, koska suluissa on tähti? Sitten ymmärtäisin, jos sulkujen sisään laitettaisiin jokin arvo (sarake), jonka arvot se laskisi.
Vastaukset 1
Vanhimmat
Tähteä (*) käytettäessä kannan optimoija päättää minkä sarakkeen mukaan tuon laskee, siis optimoija valitsee mieleisestään nopeimman/helpoimman tavan, se voi olla joku sarake tai suoraan indeksistä arvo. Toki voi käyttää sarakkeen nimeäkin, mutta se ei ole välttämättä nopein ja helpoin tapa ja tämä kostaantuu hitautena ja palvelin kuormana. Tämä siis MySQL kohal, luulis muilla olevan samaan tapaan.
Turhaa kaks COUNT juttua, kun voit laittaa tuon lkm tuonne HAVING ehtoon, tosin optimoija taitaa sen korjata.