svenMedlem sedan aug. 2001383 inlägg 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())
PalleMedlem sedan apr. 20003 174 inlägg 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)
svenMedlem sedan aug. 2001383 inlägg 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
svenMedlem sedan aug. 2001383 inlägg 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?
svenMedlem sedan aug. 2001383 inlägg 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??
Engine^Medlem sedan dec. 20003 887 inlägg Jupp. Samma som
SELECT Count(namn)
FROM tabell
WHERE Month(datum) = Month(Now())
svenMedlem sedan aug. 2001383 inlägg Ok... då är jag med ... så långt....
Men hur skriver jag sen ut det????
@ndersMedlem sedan juni 200032 969 inlägg 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
svenMedlem sedan aug. 2001383 inlägg 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...
@ndersMedlem sedan juni 200032 969 inlägg 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
LarsGMedlem sedan dec. 200012 464 inlägg SQL = "SELECT namn,COUNT(namn) AS antal FROM besok WHERE Month(datum) = Month(Now()) group by namn"
svenMedlem sedan aug. 2001383 inlägg Lysande @nders..... ännu en öl tillgodo på ditt konto....
svenMedlem sedan aug. 2001383 inlägg 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?????
LarsGMedlem sedan dec. 200012 464 inlägg SQL = "SELECT namn,COUNT(namn) AS antal FROM besok WHERE Month(datum) = Month(Now()) group by namn order by 2 "
'desc or asc?
PalleMedlem sedan apr. 20003 174 inlägg [red]SQL = "SELECT namn,COUNT(namn) AS antal FROM besok WHERE Month(datum) = Month(Now()) group by namn ORDER BY 2"[/red]
@ndersMedlem sedan juni 200032 969 inlägg 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"
svenMedlem sedan aug. 2001383 inlägg Tack Palle... sätter upp en öl på ditt konto oxå....