COOBRAAMedlem sedan nov. 200416 inlägg Försöker med följande sats få ut alla rader som har det största värdet i antal_mal (en form av topplista):
SELECT h.namn AS namn, COUNT( malskytt ) AS antal_mal
FROM `tbl_spelare` h
INNER JOIN tbl_malassist m ON h.spelar_id = m.malskytt
WHERE namn != '-'
GROUP BY namn
HAVING antal_mal = MAX( antal_mal )
LIMIT 0 , 30
lyckas inget vidare, är osäker hur man använder HAVING och MAX-kommandona...
LarsGMedlem sedan dec. 200012 464 inlägg SELECT h.namn, COUNT( malskytt ) AS antal_mal
FROM `tbl_spelare` h
INNER JOIN tbl_malassist m ON h.spelar_id = m.malskytt
WHERE namn <> '-'
GROUP BY namn
HAVING count(antal_mal) = (select max(c)
from (select count(*) c
from tbl_malassist
group by malskytt) dt)
LIMIT 0 , 30
COOBRAAMedlem sedan nov. 200416 inlägg funkar inte alls...
jag har vers 4.0.23 på MySQL, funkar väl inte med nästlade frågor???
LarsGMedlem sedan dec. 200012 464 inlägg Uppgradera då. Det är länge sedan 4.1 släpptes.
COOBRAAMedlem sedan nov. 200416 inlägg kan tyvärr inte påverka B-One
K@llenMedlem sedan mars 20032 667 inlägg
COOBRAA skrev:
kan tyvärr inte påverka B-One
Är webbhotellet inte villiga att erbjuda aktuell mjukvara är de inget att betala för. Det är bland annat vid sådana här tillfällen de bra webbhotellen skiljs från de dåliga. ;)
LarsGMedlem sedan dec. 200012 464 inlägg Så vitt jag förstår så går det inte att få ihop detta i en fråga utan subfrågor. Utan subfrågor är du nog tvungen att skapa en temporärtabell och sedan lagra max-värdet i en variabel och använda den i frågan.