webForumDet fria alternativet

LIMIT med GROUP BY i mysql

0 svar · 239 visningar · startad av SoMeOnE

SoMeOnEMedlem sedan nov. 200254 inlägg
#1

Håller på att göra en sökfunktion till en sida och använder mig av följande sql:

SELECT language.Page, GROUP_CONCAT( language_translation.Value
ORDER BY CHAR_LENGTH( language_translation.Value ) DESC ) AS Value
FROM language
INNER JOIN language_translation ON language.ID = language_translation.LanguageID
WHERE language_translation.Value LIKE '%a%'
AND language.Page NOT
IN (
'All', 'Search', 'cookies', 'Index', 'Contact', '404'
)
GROUP BY language.Page
LIMIT 0 , 10

Problemet är att den inte returnerar 10, utan bara 7, rader även fast ifall jag tar bort limit så returnerar den 11 rader. Jag misstänker att det har att göra med group by efter som ifall jag tar bort det (och tillhörande saker) så får jag ut 10 rader med 3 dubbletter. Finns det något sätt att göra så den returnerar så många rader som limit är på, ifall det finns tillräckligt många där dvs, eller måste jag hämta ut alla rader och sen endast visa de jag vill ha m h a PHP? Blir svårt att bygga ett paging-system ifall jag inte får ut rätt mängd poster.

122 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
120 ms — hämta tråd, inlägg och bilagor (db)