06. oktober 2002 - 14:20
Der er
23 kommentarer og 1 løsning
COUNT DISTINCT
Hey Hvordan bruger jeg dette når jeg bruge MS ACCESS... er der en anden udvej for at få samme resultat? //Bjarke
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
06. oktober 2002 - 14:23
#1
?? ikke helt med men du kan bruge GROUP BY,.. "SELECT ID, Count(ID) as antal FROM tabel GROUP BY ID" Så tæller den antalle af ID for hver unik ID..eks..: ID 2 2 3 Så giver det ID antal 2 3 3 1
06. oktober 2002 - 14:29
#2
fx: ID 1 1 1 1 2 2 2 2 3 3 3 3 Så skal det give 3 <-- altså der er 3 forskellige tal... hvordan gør man det?
06. oktober 2002 - 14:32
#3
Så skal det være men jeg er ikke sikker på det virker med Access...: "SELECT Count(distinct ID) as antal FROM tabel"
06. oktober 2002 - 14:36
#4
ja, det er det samme jeg har læst på w3schools. Og de skriver... Note: The following example works with ORACLE and Microsoft SQL server but not with Microsoft Access.
06. oktober 2002 - 14:37
#5
... det var derfor jeg stillede spørgsmålet på E, hvis der du var en måde at gøre det samme, bare i MS Access...
06. oktober 2002 - 15:00
#6
...det kunne jo være at der var en der er en haj til ASP, og kunne løse det med en løkke, eller noget??
06. oktober 2002 - 15:05
#7
Hvorfor prøver du ikke bare om det virker?
06. oktober 2002 - 15:08
#8
... det virker ikke... strSQL = "SELECT COUNT(DISTINCT aar) FROM 18amonth" response.write strSQL ...printer bare: SELECT COUNT(DISTINCT aar) FROM 18amonth
06. oktober 2002 - 16:35
#9
Alternativ Set rs=Server.CreateObject("ADODB.Connection") SQL = "SELECT DISTINCT ID FROM tabel" rs.Open SQL, Conn, 1 Response.write rs.RecordCount
06. oktober 2002 - 17:31
#10
eagleeye >> når jeg bruger denne: Set rs=Server.CreateObject("ADODB.Connection") SQL = "SELECT DISTINCT aar FROM 18amonth" rs.Open SQL, Conn, 1 ...får jeg fejlen: Fejltype: Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Driver Manager] Datakildenavnet er for langt. /musicchart/html/18amonth_test.asp, line 48
06. oktober 2002 - 17:33
#11
Conn skal være din connection til databasen.
06. oktober 2002 - 17:34
#12
Alternativt så prøv med denne SQL: "SELECT Count(aar) AS CountAar From 18amonth Where aar in (Select distinct aar FROM 18amonth)"
06. oktober 2002 - 17:36
#13
Det kan være der skal [] tabelnavnet da det starter med et tal [18amont]: "SELECT Count(aar) AS CountAar From [18amonth] Where aar in (Select distinct aar FROM [18amonth])"
06. oktober 2002 - 17:37
#14
hvordan får jeg så udskrevet sql'en?? response.write strSQL???
06. oktober 2002 - 17:39
#15
Tænker du på: strSQL = "SELECT Count(aar) AS CountAar From [18amonth] Where aar in (Select distinct aar FROM [18amonth])" response.write strSQL
06. oktober 2002 - 17:39
#16
for at udskrive antallet: strSQL = "SELECT Count(aar) AS CountAar From [18amonth] Where aar in (Select distinct aar FROM [18amonth])" Set rs = Din_connection.Execute(strSQL) response.write rs("CountAar")
06. oktober 2002 - 17:44
#17
... ok jeg får et tal... men den tæller alle mine RecordSet's, så jeg får tallet 83, istedet for tallet 2... Der bliver åbentbart ikke udført en DISTINCT...?
06. oktober 2002 - 17:45
#18
Hvordan ser koden ud, eller SQL sætningen?
06. oktober 2002 - 17:46
#19
Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("../db/dbase.mdb") & "; UID=administrator; PWD=black" Conn.Open DSN strSQL = "SELECT Count(aar) AS CountAar From [18amonth] Where aar in (Select distinct aar FROM [18amonth])" Set rs = Conn.Execute(strSQL) response.write rs("CountAar")
06. oktober 2002 - 17:47
#20
hvad men distinctrow strSQL = "SELECT Count(aar) AS CountAar From [18amonth] Where aar in (Select distinctrow aar FROM [18amonth])"
06. oktober 2002 - 17:48
#21
det er det samme
06. oktober 2002 - 17:53
#22
ja ok det kan ikke den finder jo alle hvor ID er med.... virkede dene ikke? SQL = "SELECT DISTINCT aar FROM [18amonth]" rs.Open SQL, Conn, 1
06. oktober 2002 - 17:55
#23
Eller så det: Set rs = Server.CreateObject("ADODB.RecordSet") strSQL = "SELECT DISTINCT aar FROM [18amonth]" rs.Open strSQL, Conn, 3, 1 Response.write rs.RecordCount
06. oktober 2002 - 17:58
#24
fandme jo, om dette ikke virker: Set rs = Server.CreateObject("ADODB.RecordSet") strSQL = "SELECT DISTINCT aar FROM [18amonth]" rs.Open strSQL, Conn, 3, 1 Response.write rs.RecordCount ...tusind tak << eagleeye >> - du er sq gud til sql-sætninger!!!
Kurser inden for grundlæggende programmering