webForumDet fria alternativet
Logga in / Bli medlem

Mest aktiva

Databaser & SQL

5 svar · 205 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! :)

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