webForumDet fria alternativet

Sql fråga som sortera ut flest förekommande?

Databaser & SQL

7 svar · 532 visningar · startad av eddy1

Medlem sedan aug. 2001969 inlägg
Frågan#1

Hej

är ruskigt dålig på Sql så jag vet ens om det är möjligt men. Jag skulle vilja göra en sql fråga som sorterade upp posterna i fältet FrånData efter mest förekommande och skrev ut antal.
Fältet FrånData innehåller web adresser så t.ex om https://www.msn.se förekommer flest gånger vilja skriva ut adressen och antal poster med den.. osv.

Går det göra eller finns det någon annan lösning??

Mvh

Medlem sedan dec. 20025 483 inlägg
#2

Nu skriver du inte vilket DBMS som används, men typ så här kan du göra

select top 1
       fråndata
     , count(*) as antal
  from tbl
group
    by fråndata
order
    by 2 desc

// alt.

select fråndata
     , count(*) as antal
  from tbl
group
    by fråndata
order
    by 2 desc
 limit 1

Vill du lista samtliga adresser kan du ta bort 'top 1' och 'limit 1'.

Medlem sedan dec. 200012 464 inlägg
#3
select FrånData,Count(*) as oc
  from t
group by FrånData
 order by oc desc

Flyttas från ASP

Medlem sedan aug. 2001969 inlägg
#4

förstår nog bara ungefär.. hur skriver jag ut det på sidan sen då?

oc innehåller antalet eller, hur skriver jag ut från vilken adress det är då?
använder man bara movenext för att stega sig igenom alla eller??

jko jag använder access

tack båda för svaren

Medlem sedan dec. 200012 464 inlägg
#5

Du skriver ut oc som vilket annat värde i ditt recordset

q = "select FrånData,Count(*) as oc " & _
 " from t " & _
" group by FrånData " & _
" order by 2 desc"
set rs = connect.execute(q)
while not rs.eof
'...
  response.write rs("OC")
  rs.movenext
wend

Eftersom det är access så måste du ha order by 2 desc.

Medlem sedan aug. 2001969 inlägg
#6

Okey nu funkar det.
tack

men vad betyder tvåan?? och hur gör jag om jag inte vill ha den posten som förekommer mest utan alla andra??

Medlem sedan juli 20011 129 inlägg
#7

I frågan som LarsG gjorde så hämtar han kolumnen FrånData och Count(*) vilket ger FrånData och Antalet rader som hämtas. Order By 2 betyder att han sorterar efter kolumn 2 i hämtningen.

Kolumn 1 är Fråndata, kolumn 2 är Count(*) därmed sorterar han fallande efter Count(*)

Medlem sedan aug. 2001969 inlägg
#8

okey då fattar jag, det fungerar kanon nu..

En tanke till jag fick var om det går att sortera efter månad och, alltså jag vill ha som det är nu men det ska även titta i fältet "datum" och bara välja alla för t.ex november?

Mvh

261 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)