Kanske nått sånt?
sql = "select count(namn) from tabell where namn = '"&Request.QueryString("namn")&"' and DatePart("m", datum) = DatePart("m", Now())
Databaser & SQLur Databashanterare & SQL
28 svar · 613 visningar · startad av sven
Hej ....
Behöver lite hjälp med att få ihop en SQL sats för en besöksräknare.
Har i min databas tabellerna namn och en datum. Där skrivs namnet och datumet in när man har varit på besök.
Nu vill jag skriva ut namnet och hur många gånger man har varit på besök i ex. Oktober månad.
Någon som kan hjälpa mig med lämplig SQL skrivning??
Kanske nått sånt?
sql = "select count(namn) from tabell where namn = '"&Request.QueryString("namn")&"' and DatePart("m", datum) = DatePart("m", Now())
1. Varför inte ha 1 tabell med 2 kolumner i istället, känns onödigt att ha två tabeller för detta.
2. Vilken dbms handlar det om?
3. SQL-frågor bör ställas i SQL-forumet. (rapporterat tråden)
Flyttas från ASP
Sorry Palle... massor av fel av mig :)
1. Skrivfel av mig. Har en tabell med kolumnerna namn och datum
2. Access databas...
3. Sorry :r
LR^evil.sid.... har ingen QueryString att tillgå... vad jag vill göra är att lista alla....
Jaha?
sql = "select count(namn) from tabell where DatePart("m", datum) = DatePart("m", Now())
Om du vill viasa alla poster är det ju bara att strunta i att identifiera besökaren. Eller missförstår jag dig nu?
Nä.. där missförstår du nog inte...
Frågan är ... vad står "m" för... tänker att det står för månad.. eller??
Ok... då är jag med ... så långt....
Men hur skriver jag sen ut det????
Antingen anger du fältets index, 0 i det här fallet, och refererar till det när du ska skriva ut det;
Response.write dittRecordsetObjekt(0)
, eller så ger du det skapade fältet ett namn i SQL-frågan;
sql = "select count(namn) [b]AS antal[/b] ......."
I det här fallet skriver du ut värdet genom att göra precis som vanligt, och ange antal som fältnamn;
Response.write dittRecordsetObjekt("antal")
Hoppas det var svar på din fråga. :)
mvh
hmmm... inte riktigt @nders
så här ser min kod ut nu
SQL = "SELECT COUNT(namn) AS antal FROM besok WHERE Month(datum) = Month(Now())"
Set rs = db.Execute(SQL)
do while not rs.EOF
Response.Write rs("antal")
rs.MoveNext
loop
Nu skriver den ut antal träffar aktuell månad. Men vad jag vill ha är...
Hur många gånger Nisse har varit här. Hur många gång Lisa varit här... osv...
Oki. Jag har bara läst ditt sista inlägg. :)
Prova detta då:
SQL = "SELECT namn, COUNT(*) AS antal FROM besok WHERE Month(datum) = Month(Now()) GROUP BY namn ORDER BY namn"
Set rs = db.Execute(SQL)
do while not rs.EOF
Response.Write rs("namn") & " - " & rs("antal") & "<br>"
rs.MoveNext
loop
Mvh
SQL = "SELECT namn,COUNT(namn) AS antal FROM besok WHERE Month(datum) = Month(Now()) group by namn"
Lysande @nders..... ännu en öl tillgodo på ditt konto....
Bara en detalj till
nu sorterar den på namn
ORDER BY namn
Men om jag vill sortera på antal.... för det funkar inte att skriva ORDER BY antal
eller?????
SQL = "SELECT namn,COUNT(namn) AS antal FROM besok WHERE Month(datum) = Month(Now()) group by namn order by 2 "
'desc or asc?
[red]SQL = "SELECT namn,COUNT(namn) AS antal FROM besok WHERE Month(datum) = Month(Now()) group by namn ORDER BY 2"[/red]
Eftersom det är Access får du ange ordningstalet för den skapade kolumnen, dvs 2:
SQL = "SELECT namn, COUNT(*) AS antal FROM besok WHERE Month(datum) = Month(Now()) GROUP BY namn ORDER BY 2 DESC"
Tack Palle... sätter upp en öl på ditt konto oxå....