Aktív témák
-
Blindness
csendes tag
Ez csak a standard SQL-re igaz, MySQL-ben elvileg legális.
"A HAVING clause can refer to any column or alias named in a select_expr in the SELECT list or in outer subqueries, and to aggregate functions. However, the SQL standard requires that HAVING must reference only columns in the GROUP BY clause or columns used in aggregate functions. To accommodate both standard SQL and the MySQL-specific behavior of being able to refer columns in the SELECT list, MySQL 5.0.2 and up allows HAVING to refer to columns in the SELECT list, columns in the GROUP BY clause, columns in outer subqueries, and to aggregate functions."
- http://dev.mysql.com/doc/refman/5.0/en/select.html
Egyébként WHERE-ben nem tudok hivatkozni "aggregate" funkcióval készült mezőre, azaz jelenesetben a titles-re.
Itt a teljes tábla, SQL: http://www.2shared.com/document/ADQyUzPB/songs.html
-
Blindness
csendes tag
Sziasztok!
Alább álljon az egymillió dolláros kérdés, hogy ilyen közhellyel éljek.
Röviden annyi a történet, hogy a saját zenéimhez írok egy felületet, ahol lehet rendezni, nézegetni, keresgetni köztük több szempont alapján, ír statisztikákat, stb. Hozzá tartozó adatbázis kényelmi okoból egyetlen tábla, ily módon megoldva: Link.
És akkor a kérdés: Hogy lehet, hogy ez:
SELECT GROUP_CONCAT(title) AS titles, GROUP_CONCAT(id SEPARATOR '_') AS ids, COUNT(track) AS songcnt, aartist, album, year, ROUND(AVG(bitrate)) AS quality, genre, SEC_TO_TIME(SUM(length)) AS playtime, ROUND(SUM(filesize)/1048576) AS size, MAX(disc) AS discs, image FROM songs GROUP BY album, aartist HAVING titles LIKE '%hammer%' ORDER by aartist ASC, album ASC LIMIT 0, 50Nem ugyanannyi eredményt ad, mint ez:
SELECT GROUP_CONCAT(title) AS titles, GROUP_CONCAT(id SEPARATOR '_') AS ids, COUNT(track) AS songcnt, aartist, album, year, ROUND(AVG(bitrate)) AS quality, genre, SEC_TO_TIME(SUM(length)) AS playtime, ROUND(SUM(filesize)/1048576) AS size, MAX(disc) AS discs, image FROM songs GROUP BY album, aartist HAVING titles LIKE '%hammer%' ORDER by album ASC LIMIT 0, 50Előbbi valamiért csak 14 sort ad vissza, míg a második 15-öt, pedig annyi a különbség, hogy a fölsőben együttes szerint is rendezem és nem csak album szerint.
ORDER by aartist ASC
Szóval nem igazán értem, hogy a rendezés miért befolyásolja az eredmények számát. Én vagyok a hülye, vagy ez MySQL limitáció/bug? Esetleg megoldás?
Aktív témák
- Kerékpárosok, bringások ide!
- Nagyrobogósok baráti topikja
- Milyen széket vegyek?
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Motorola Edge 50 Fusion - jó fogás
- Konzolokról KULTURÁLT módon
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Torrent meghívó kunyeráló
- Autós topik
- Filmvilág
- További aktív témák...
- SAMSUNG Galaxy Watch 4 Classic 46mm - Ezüst - LTE - BluTooth - WiFi - GPS
- Bomba ár! Lenovo ThinkPad T14s G3 - i5-1245U I 16GB I 256SSD I 14,1" WUXGA I Cam I W11 I Garancia!
- Bomba ár! Lenovo ThinkPad T580 - i7-8G I 16GB I 512SSD I 15,6" FHD I Cam I W11 I Garancia!
- Bomba ár! Lenovo ThinkPad P52 XEON I 32GB I 512SSD I Nvidia I 15,6" FHD I Cam I W11 I Garancia!
- Bomba ár! Lenovo ThinkPad P51 XEON I 32GB I 512SSD I Nvidia I 15,6" FHD I Cam I W11 I Garancia!
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RTX 5070 Ti 16GB GAMER PC termékbeszámítással
- Apple iPhone 13 256GB, Kártyafüggetlen, 1 Év Garanciával
- ÚJ akksi! GigaAKCIÓ! Lenovo ThinkPad P15 Gen 2 Intel i7-11850H 32GB 512GB Nvidia RTX A3000 1 év gar
- Csere-Beszámítás! Apple Macbook Pro 2013 vége! 512GB SSD, I7, 16GB DDR3, Intel Iris Pro! Olvass!
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

