webForumDet fria alternativet

LEFT JOIN + ORDER BY fråga

2 svar · 233 visningar · startad av slow

slowMedlem sedan apr. 2004148 inlägg
#1

Har försökt hitta ett svar här men inte lyckats.
Håller på att göra mig ett väldigt enkelt forum.
Jag har en tabell med kategorier.
id_kat
namn_kat
besk_kat

Och en med ämnen.
id_amne
kat_id
datum_amne
osv.

På förstasida så försöker jag att lista kategorierna sorterade efter namn_kat ASC plus att ett datum skall synas när senaste ämnen är startat i denna kategori. Men det lyckas jag inte med utan den skriver alltid ut det älsta datumet på när ett ämne startades i den kategorin. Så här ser det ut just nu:

SELECT *
FROM forum_kat LEFT JOIN forum_amne ON kat_id = id_kat
GROUP BY id_kat
ORDER BY namn_kat ASC

Använder mig utan mySQL 4.0.22-standard.
Hur ska jag lösa detta?
Eller hur ska jag tänka för att lösa detta? :)

LarsGMedlem sedan dec. 200012 464 inlägg
#2

The dreaded Mysql group by feature strikes again.

select <kolumn-lista>,max(datum_amne)
from forum_kat 
  LEFT JOIN forum_amne ON kat_id = id_kat
group by <kolumn-lista>
ORDER BY namn_kat ASC

Den kolumn-lista som anges i select skall alltså vara samma som den som anges i group by.

slowMedlem sedan apr. 2004148 inlägg
#3

7 jordgubbsklubbor till dig Lasse!

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