Mest aktiva

Databaser & SQL

5 svar · 230 visningar · startad av K@llen

Medlem sedan mars 20032 667 inlägg
Trådstart#1
-- article --

articleId (PK)
articleText

-- comment ---

commentId
commentText
articleId (FK)

Hej,

Hur går jag tillväga för att få ut, låt oss säga, de 20 artiklarna som har flest kommentarer?

dbms Access 2000

Medlem sedan dec. 200012 464 inlägg
#2
select top 20 articleId,
   articleText, 
  (select count(*) 
     from comment
  where articleId = a.articleId ) as NumberOfComments
  from article as a
 order by 3 desc
Medlem sedan mars 20032 667 inlägg
#3

Tusen tack LarsG. :D

Medlem sedan nov. 2001274 inlägg
#4

Följdfråga: Hur åstadkommer jag samma sak i mysql? Jag lyckas då inte. ;)

Medlem sedan dec. 200012 464 inlägg
#5
select a.articleId,
          a.articleText, 
          count(c.articleID)  as NumberOfComments
  from article as a left outer join comment as c
     on a.articleID = c.articleId
   group by a.articleId, a.articleText
 order by NumberOfComments desc
 limit 20
Medlem sedan nov. 2001274 inlägg
#6

Funkar perfekt, tack! :)

255 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)