webForumDet fria alternativet

räkna inlägg

Databaser & SQLur Databashanterare & SQL

5 svar · 344 visningar · startad av Vinnaren

Medlem sedan sep. 2005833 inlägg
Frågan#1

Ska räkna hur många inlägg varje blogg har samt visa bloggnamnet på de 10 som har flest.

Har dessa två:

SELECT DISTINCT(b.Name) FROM blogg AS b 
INNER JOIN post AS p
ON p.bID = b.bID
ORDER BY Count(p.bID) DESC

men får felmeddelandet:
Column 'blogg.Name' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
ORDER BY items must appear in the select list if SELECT DISTINCT is specified.

Hur löser man detta??

Tacksam för all hjälp

Medlem sedan juni 200032 969 inlägg
#2

Tja, prova att ha med Count(p.bID) i select-listan?

Medlem sedan sep. 2005833 inlägg
#3

japp, har provat det, får samma felmeddelande :(

Medlem sedan juni 200032 969 inlägg
#4

Prova:

SELECT DISTINCT b.Name, Count(p.bID) FROM blogg AS b 
INNER JOIN post AS p
ON p.bID = b.bID
ORDER BY 2 DESC

edit: såklart, glömde group by - se LarsGs inlägg nedan.

Medlem sedan dec. 200012 464 inlägg
#5
SELECT  b.Name, Count(p.bID) as blogs
   FROM blogg AS b 
INNER JOIN post AS p
   ON p.bID = b.bID
  group by b.name
ORDER BY blogs desc
Medlem sedan sep. 2005833 inlägg
#6

Tack :bire , nu fungerar den :i

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