KristianstadMedlem sedan dec. 2002747 inlägg
Kolumnen IP innehåller flera IP-nummer. Vissa presenteras bara en gång, vissa presenteras flera, t.ex.
IP: Datum:
111.111.111.111 2005-01-03
111.111.111.111 2005-01-03
222.222.222.222 2005-01-03
111.111.111.111 2005-01-03
222.222.222.222 2005-01-03
333.333.333.333 2005-01-03
111.111.111.111 2005-01-03
111.111.111.111 2005-01-04
Nu vill jag för det första endast ha från 2005-01-03, sedan vill jag att det ska presenteras så här:
Besök Antal
1: 1
2: 2
3: 0
Jag vill alltså ha en sammanställning av hur många gånger IP-numret bara dyker upp en gång, två gånger, osv. Går det att fixa direkt i SQL?
Jag använder Access.
@ndersMedlem sedan juni 200026 914 inlägg
SELECT ipnummer, count(*) as antal
GROUP BY ipnummer
ORDER BY 2 DESC
mvh
KristianstadMedlem sedan dec. 2002747 inlägg
Jag vill ha det ytterligare, att det grupperar count(*) as antal
Jag kan beskriva det lättare:
Kalle
Kalle
Göran
Göran
Ellen
Ellen
Ellen
Kalle har visats 2 ggr. Göran 2 ggr. och Ellen 3 ggr.
Det har hänt två ggr att det visats två ggr. :)
1 ggr = 0 gånger
2 ggr = 2 gånger
3 ggr = 1 gång
Går det ens?
LarsGMedlem sedan dec. 200012 465 inlägg
Du behöver en hjälptabell för att få ut rader där det finns 0 förekomster. Det är den som heter nrTable i nedanstående och den behöver en kolumn (nr) av typen integer. Lagra värden från 1 till så många förekomster du vill kunna visa.
select nr,nvl(occ,0)
from nrTable left outer join
(select c,count(*) as occ
from (select count(*) as c
from iptable
group by ipnummer)dt
group by c)dt
on nr = dt.c
where nr between 1 and 3
Det är faktiskt otestat.
KristianstadMedlem sedan dec. 2002747 inlägg
Hejsan Lars!
Jag fic följande felmeddelande:
Join expression not supported.
LarsGMedlem sedan dec. 200012 465 inlägg
Om du bara testar denna då
select c,count(*) as occ
from (select count(*) as c
from iptable
group by ipnummer) as dt
group by c
Då borde du få ut allt utom de förekomster som är 0. I värsta fall kan man ju lägga till dessa i skriptet.
KristianstadMedlem sedan dec. 2002747 inlägg
Det funkar utmärkt så! Det gör inget om det inte visar de som är 0.
Tack Lars!