Hirdetés
- OLED TV topic
- Ha a koreaiakon múlik, még évekig ingünk-gatyánk rámehet a memóriákra
- TCL LCD és LED TV-k
- Nem indul és mi a baja a gépemnek topik
- Kormányok / autós szimulátorok topikja
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Projektor topic
- Google One vs iCloud vs OneDrive – melyik a legjobb választás 2025-ben?
- Videós, mozgóképes topik
- Milyen RAM-ot vegyek?
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
- gban: Ingyen kellene, de tegnapra
- OLED TV topic
- Ha a koreaiakon múlik, még évekig ingünk-gatyánk rámehet a memóriákra
- TCL LCD és LED TV-k
- Nem indul és mi a baja a gépemnek topik
- Kormányok / autós szimulátorok topikja
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Fotók, videók mobillal
- Projektor topic
- Mikrotik routerek
- További aktív témák...
- Apple iPhone 15 Pro Max 512GB, Kártyafüggetlen, 1 Év Garanciával
- Bomba ár! Lenovo 14W Gen2 - AMD 3015e I 4GB I 128SSD I 14" FHD I HDMI I Cam I W11 I Garancia!
- Samsung Galaxy A34 5G / 6/128GB / Kártyafüggetlen / 12Hó garancia
- GYÖNYÖRŰ iPhone 14 Pro 128GB Deep Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3555,100% Akkumulátor
- CalDigit TS3 Plus Thunderbolt 3 dokkoló állomás
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi



