Avatar billede yezper Nybegynder
20. august 2002 - 22:08 Der er 5 kommentarer og
1 løsning

SQL: Antal records i tabellen?

Hejsa

Jeg har en tabel med følgende felter i:

ID (int, ident)
BannerId (int)
Action (int)
Status (int)

Der kan f.eks. være følgende records i denne tabel:

1  1  1  100
2  1  1  100
3  1  1  100
4  2  2  100
5  2  1  100
6  1  1  100
7  2  2  100
8  2  1  100
9  3  1  100
10  3  2  100

Er der nogen, der kan hjælpe med at lave en SQL forespørgsel, der finder ud af, hvor mange hits de enkelte bannere har fået, og returnere et recordset, der ser ud som dette:

BannerId    AntalKlik  AntalVisninger
1          0          4
2          2          3
3          1          1

Håber der er nogen, som kan hjælpe.
Avatar billede bennytordrup Nybegynder
20. august 2002 - 23:02 #1
Du skal have fat i count og group by.

Hvordan afgør du, om der skal tælles op i klik og visning?
Avatar billede bennytordrup Nybegynder
20. august 2002 - 23:05 #2
Hvis vi antager, at Action 1 = Visning og Action 2 = Klik, så prøv:

select BannerID, sum(case action when 2 then 1 else 0 end) as AntalKlik, sum(case action when 1 then 1 else 0 end) as AntalVisninger
from SomeTable
group by BannerID
Avatar billede iblarsen Praktikant
21. august 2002 - 08:29 #3
Prøv at kigge på Select Distinct.
Select BannerID, Action, Status Distinct BannerID From TabelNavn.
Avatar billede bennytordrup Nybegynder
21. august 2002 - 08:41 #4
iblarsen>> hvis jeg prøver din konstruktion på en MS SQL 2000, så får jeg følgende fejl:

Incorrect syntax near the keyword 'distinct'.

Hvilken database arbejder du mod?
Avatar billede bennytordrup Nybegynder
19. september 2002 - 11:43 #5
Fik du løst problemet?
Avatar billede yezper Nybegynder
19. september 2002 - 16:43 #6
Ja, det gjorde jeg.
Var helt kommet væk fra denne opgave, men har kigget på det nu.
Point går til benny.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester