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
Hirdetés
- Csíkszélességben verné az Exynos 2600 a Snapdragon 8 Elite 2-t
- Luck Dragon: Asszociációs játék. :)
- Brave
- Léghűtés topik
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Anime filmek és sorozatok
- 3D nyomtatás
- AliExpress tapasztalatok
- Revolut
- btz: Internet fejlesztés országosan!
- További aktív témák...
- Használt TP-Link Deco M4 - AC1200 Router (Mesh-ként is használható)
- Újszerű Samsung 34 -es hajlított monitor - 3440x1440px / HDR10 / 100Hz / USB-C PD 90W (S34A650UXU)
- Használt iPad Pro 10. 5 cellular - 64GB + Apple Smart Keyboard + Apple Smart Cover
- Használt 2022-es MacBook Air 13 - M2-es processzor, 8GB RAM, 256GB SSD
- MacBook Pro 14" M1 MAX - 32GB / 1TB (2021) - Cseh billentyűzet - 224 ciklus / 88% - 1 év garancia
- MacBook felváráslás!! MacBook, MacBook Air, MacBook Pro
- Konzol felvásárlás!! Playstation 5, Playstation 5 Pro
- Csere-Beszámítás! AMD Ryzen 7 7700X Processzor!
- BESZÁMÍTÁS! Dell Precision 5820 XL Tower PC - Xeon W-2123 112GB RAM 512GB SSD 1TB RX 580 8GB Win 11
- Csere-Beszámítás! Gigabyte Aorus Elite RX 9070 XT 16GB Videokártya! Bemutató darab!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest