Avatar billede lady Novice
03. oktober 2002 - 16:04 Der er 14 kommentarer og
1 løsning

Sammentælling

kan det lade sig gøre at lave en sammentælling i et felt af for eks. lande, således at et land kun tælles med en gang. Der er 17 forskellige lande, hvoraf der er flere som er med flere gange.
Avatar billede jakoba Nybegynder
03. oktober 2002 - 16:07 #1
SELECT COUNT(land) AS antalgange, land
  FROM dintabel
  GROUP BY land

mvh JakobA
Avatar billede proaccess Nybegynder
03. oktober 2002 - 16:11 #2
Hvis du vil have tallet 17 frem, så må du vist ty til noget sub-select...

SELECT COUNT(*) FROM (SELECT DISTINCT land FROM dinTabel);
Avatar billede jakoba Nybegynder
03. oktober 2002 - 17:25 #3
Nåe den vej rundt. men hvorfor så ikke blot:
  SELECT COUNT(DISTINCT land) FROM dinTabel;
Avatar billede lady Novice
04. oktober 2002 - 08:04 #4
jeg har prøvet med følgende sætning men kan ikke få den til at virke:
select count(distinct land) from 2-klubtilmelding.
Hvad gør jeg galt.
Avatar billede jkrons Professor
04. oktober 2002 - 12:20 #5
hvad med

SELECT DISTINC Count(Land) FROM 2-klubtilmelding.

Distinct hører til SELECT ikke til Count.

Jeg ikke lige Access ved hånden, så det er ikke afprøvet.
Avatar billede lady Novice
04. oktober 2002 - 12:26 #6
det hjalp ikke
Avatar billede jakoba Nybegynder
04. oktober 2002 - 12:27 #7
Jeg tvivler på du kan lave distinct på et afledt feltværdi som COUNT().

count( disticnt feltnavn ) har været en del af standard SQL siden 1992, men det er da muligt Acces ikke har det med endnu.

Hvis ikke er det proaccess's løsning der er brug for. Den er også standard SQL og vil virke (hvis Acces understøtter sub-selects).

mvh JakobA
Avatar billede jakoba Nybegynder
04. oktober 2002 - 12:31 #8
ps:  tabelnavn med bindestreg i? tillader access det? Det går ihvertfald ikke i feltnavne.
Avatar billede jkrons Professor
04. oktober 2002 - 13:36 #9
jakoba-> Tabelnavn med bindestreg er OK i Access, men det er ikke hensigtsmæssigt af mange årsager :-) SQL mæssigt er Access på SQL89 med nogle tilføjelser.
Avatar billede proaccess Nybegynder
05. oktober 2002 - 07:29 #10
Access understøtter IKKE DISTINCT på felt-niveau, men derimod understøttes sub-select's...

bindestreger og andre specialtegn KAN bruges i feltnavne, dette er ikke hensigtsmæssigt, men kan altså lade sig gøre ved at indkrandse hele feltnavnet i []'er... som i: [by- & landenavn]
Avatar billede lady Novice
07. oktober 2002 - 08:06 #11
Jeg har prøvet med denne formel: =(SELECT COUNT  DISTINCT[Land] FROM [2-KLUBTILMELDING]). Det skulle gerne være et felt i en rapportfod.
Jeg har også prøvet med andre paranteser. Som den er i øjeblikket melder den tilbage #NAVN#
Avatar billede jkrons Professor
07. oktober 2002 - 15:34 #12
Prøv med noget i denne stil:

SELECT Count(land) FROM (SELECT DISTINCT land FROM [2-klubtilmelding])
Avatar billede lady Novice
08. oktober 2002 - 08:16 #13
ved at bruge formlen fra "jkrons" får jeg følgende meddelelse:
der er en syntaksfejl i forespørgselsudtrykket "First([SELECT Count(land) FROM (SELECT DISTINCT land FROM [2-klubtilmelding])])".

Jeg ved ikke om jeg har forklaret at det drejer sig om en rapport jeg er ved at lave.
Avatar billede jakoba Nybegynder
08. oktober 2002 - 08:43 #14
de yderste [ og ] skal ikke være der.
Avatar billede lady Novice
08. oktober 2002 - 09:07 #15
Det er denne formel jeg har sat ind:
SELECT Count(land) FROM (SELECT DISTINCT land FROM [2-klubtilmelding])
så viser den ovennævnte fejlmeddelelse
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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