webForumDet fria alternativet
Logga in / Bli medlem

sortera en tabell efter en annan...

Databaser & SQL

4 svar · 174 visningar · startad av kittlos

Medlem sedan sep. 2002205 inlägg
Trådstart#1

Jag har två tabeller i min Mysql-databas - Bild och Publicering

Jag vill i min sql-fråga visa tabellen Bild, sorterad efter antalet publiceringar. Har bildid som inlånad nyckel i Publicering.

Hur ser sql-frågan ut...?

Medlem sedan dec. 20003 887 inlägg
#2
SELECT b.* FROM Bild b
INNER JOIN Publicering p
ON p.bildid = b.bildid
ORDER BY antal_publiceringar DESC

antal_publiceringar antar jag vara en räknare i tabellen Publicering, som håller reda på hur många gånger bilden publicerats...

Medlem sedan sep. 2002205 inlägg
#3

Nej, antal publiceringar får man genom att räkna förekomster i tabellen publiceringar som har ett visst bildid. Så jag behöver använda count på något sätt, tror jag.

Medlem sedan dec. 200012 464 inlägg
#4

Jag tror inte på den datamodellen, snarare att det finns en rad för varje publicerad bild. (Varför skulle man annars ha en separat tabell?)

SELECT b.titel, count(*) as antal_publiceringar
 FROM Bild b
INNER JOIN Publicering p
ON p.bildid = b.bildid
group by b.titel
ORDER BY antal_publiceringar DESC
Medlem sedan sep. 2002205 inlägg
#5

topp! tack.

262 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)