webForumDet fria alternativet

Två order by...

5 svar · 270 visningar · startad av slow

slowMedlem sedan apr. 2004148 inlägg
#1

MySQL 4.0.22, hemsida.
Så här har jag en kod för att hämta data till ett forum. Den hämtar kategori, antal ämnen i kategorin också vill jag att den även ska lista senaste ämne i respektive kategori.
Men jag kommer inte på hur jag ska göra för att få två stycken ORDER BY. Vill ju fixa in,
ORDER BY rg_forum_amne.datum_amne DESC någonstans.. :)
Men vad jag förstår så kan jag inte göra subselect och hur gör jag då? Ifall jag inte har tillgång till att uppdatera.. :P

SELECT rg_forum_kategori.rubrik_kat as kategori,
rg_forum_amne.rubrik_amne AS rubrik, 
rg_forum_amne.datum_amne AS datum, 
count(rg_forum_amne.id_amne) as amnen
FROM rg_forum_kategori  
LEFT JOIN rg_forum_amne  
ON rg_forum_kategori.id_kat=rg_forum_amne.kat_id
WHERE for_id = 'colname'
GROUP BY rg_forum_kategori.rubrik_kat
ORDER BY rg_forum_kategori.rubrik_kat ASC
GeinMedlem sedan sep. 20005 700 inlägg
#2
ORDER BY rg_forum_kategori.rubrik_kat ASC,
rg_forum_amne.datum_amne DESC
slowMedlem sedan apr. 2004148 inlägg
#3

åhå, så man kan göra så.. :) dock så vill det inte fungera ändå, kan jag använda mig av fel JOIN sats?

slowMedlem sedan apr. 2004148 inlägg
#4

Provade att göra en egen fråga som bara hämtade senaste inlägget i varja kategori. Men den tar inte hänsyn till just vilken kategori den hör till. Vad har jag nu gjort för fel? :)

SELECT rg_forum_amne.rubrik_amne AS rubrik, 
rg_forum_amne.datum_amne AS 
datum,rg_forum_kategori.id_kat,  
rg_forum_kommun.id_kommun
FROM rg_forum_amne, 
rg_forum_kategori, rg_forum_kommun
WHERE rg_forum_kommun.id_kommun = colname AND 
rg_forum_kategori.for_id=rg_forum_kommun.id_kommun  
AND rg_forum_kategori.id_kat=rg_forum_amne.kat_id
GROUP BY rg_forum_amne.id_amne
ORDER BY rg_forum_amne.datum_amne DESC
LarsGMedlem sedan dec. 200012 464 inlägg
#5

Du får backa lite.
Beskriv hur de ingående tabellerna är definierade.
Ge exempel på datainnehåll och förväntat resultat.

slowMedlem sedan apr. 2004148 inlägg
#6

Okej, vi backar lite.. :)

Först har jag en kommuntabell...

rg_forum_kommun

id_kommun
namn_kommun
besk_kommun

Också en kategoritabell...

rg_forum_kategori

id_kat
for_id (=id_kommun)
rubrik_kat
besk_kat

Också en ämnestabell...

rg_forum_amne

id_amne
kat_id(=id_kat)
usr_id(=id_usr
rubrik_amne
text_amne
datum_amne

också en svarstabell....

rg_forum_svar

id_svar
amne_id(=id_amne)
usr_id(=id_usr)
text_svar
datum_svar

också en användarbell då förståss
med namn och dylikt....

Och resultatet jag vill uppnå är följande:
Lista upp kategoriera i en viss kommun, beroende på vilken kommun man valt.
Där ska det stå typ så här:

Kategori - Ämnen - Senaste ämnet:
Blaha - 4st - Jag är kass på SQL av Patrik 28april-05
Bliha - 5st - Jag är kassare av Patrik

och vald kommun har jag döpt till colname...
alltså, rg_forum_kommun.id_kommun = colname blir vald kommun.. :)
Och jag använder mig av MySQL 4.0.22.
Hoppas det blev lite klarare nu iallafall!
och kom gärna och säg hur jag skulle ha byggt upp tabellerna istället! :)

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