webForumDet fria alternativet

räkna vad det finns flest av?

ASP

5 svar · 428 visningar · startad av nauska

Medlem sedan feb. 2000137 inlägg
Frågan#1

hur gör jag för att räkna vad det finns flest av i en accessdatabas?

ex
datum: vem:
2000-03-12 pelle
2000-03-12 kalle
2000-03-13 nisse

så ska den skriva ut att det fanns flest 2000-03-12 och hur många det fanns av den.

tack!

------------------
// nauska - http://come.to/nauska

Medlem sedan dec. 19998 577 inlägg
#2

Du skulle ju först kunna kolla alla enskilda poster i en SQL-sats, och sedan göra en loop som räknar dom dynamsikt. Vet inte om detta är ett bra sätt... kanske finns nått bättre sätt, men ungefär såhär tänkte jag:

SQL = "select distinct namn from tabell"
Set RS = Databas.Execute(SQL)

For i = 0 to Ubound(RS)
SQL = "select count(*) AS count_namn from tabell where namn = '" & RS("namn") & "'"
Set RS2 = databas.Execute(SQL)
Response.write RS("namn") & " --> " & RS2("count_namn")
Next

... det kanske finns någon inbyggd funktion för detta, men isånnafall så känner jag inte till den...

------------------
MVH / Vide
Min hemsida:webeye.nu

[Redigerat av Vide den 14 mar 2000]

Medlem sedan feb. 20001 590 inlägg
#3

Du kan nog
(spånar lite från huvudet, kolla in någon SQL guide med Groups och aggregate funktioner för rätt syntax)
använda dig av:

SELECT datum,namn,COUNT(*) FROM tabell GROUP BY datum;
eller
GROUP BY namn;
eller
GROUP BY datum,namn;
eller
GROUP BY datum HAVING COUNT(*) > 1;

beroende på hur du vill visa recordsetet

/T

Medlem sedan dec. 19996 721 inlägg
#4

select count(*),datum from blabla group by datum order by 1 desc;

plocka första raden från resultatet

Medlem sedan mars 20003 inlägg
#5

Hej, detta fungerar nog också:

SELECT TOP 1 Tabell1.DATUM, Count(Tabell1.NAMN) AS Anamn
FROM Tabell1
GROUP BY Tabell1.DATUM
ORDER BY Count(Tabell1.NAMN) DESC;

Observera TOP 1 ger den första.
Problem får du om du har två (eller flera) som har samma antal ...

HTH
Terje

------------------
Twix aka Terje W IsaKSen
hem1.passagen.se/twix

Medlem sedan feb. 2000137 inlägg
#6

tack alla.

twix. jag löste det på samma sätt som du.

------------------
// nauska - http://come.to/nauska

256 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)