Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Sumrering i SQL-sats (Datum)

Postades av 2003-09-20 00:15:23 - Johan Svensson, i forum databaser, Tråden har 6 Kommentarer och lästs av 772 personer

Jag har en tabell med besökare där jag lagrar datum...
det finns flera med samma datum... osv...

Om jag kör "SELECT Datum, Count(*) FROM Visitors GROUP BY Datum"
så får jag ut hur många besökare det var ett visst datum...

Men jag skulle vilja grupera så jag ser hur statistiken ser ut för en vecka...
hur många besökare det är på måndagen, tisdagen... osv....

Hoppas ni förstår.... Jag kör i SQL 2000 Ent
Mvh
Johan.NET


Svara

Sv: Sumrering i SQL-sats (Datum)

Postades av 2003-09-20 01:06:03 - Per Persson

Nu vet jag inte hur det funkar i SQL 2000, men i MySQL kan man skriva
<code>
SELECT Datum, Count(*)
FROM Visitors
WHERE WEEK(Datum)='45' /* för vecka 45 */
GROUP BY WEEKDAY(Datum)
</code>


Svara

Sv: Sumrering i SQL-sats (Datum)

Postades av 2003-09-20 08:22:12 - Tommy Söderkvist

Gör Convert på kolumnen datum.
Med convert kan du få fram ex. dag.
Gruppera också på Convert.
I hjälpen till MS QueryAnalyser finns samtliga argument till Convert.


Svara

Sv: Sumrering i SQL-sats (Datum)

Postades av 2003-09-20 10:54:30 - Christoffer Hedgate

Antingen så är det ju bara att lägga till en WHERE-klausul med ett datumintervall så får du ju en lista för de dagar som ingår i det intervallet. Så ser du till att intervallet motsvarar den vecka du efterfrågar.

Men jag undrar om du kanske egentligen menar att du vill se hur många besökare det är på måndagar, tisdagar, onsdagar etc i allmänhet, inte för en specifik vecka. Då får du använda funktionen DATEPART, typ så här:

<code>
SELECT DATEPART(weekday, Datum), COUNT(*)
FROM Visitors
GROUP BY DATEPART(weekday, Datum)
</code>

Se till att din SQL Server är korrekt inställd på vilken dag som är första dag i veckan, det gör du annars med SET DATEFIRST. Slutligen kan du om du bara vill lista hur många besökare det är per vecka använda DATEPART(week, Datum) istället.


Svara

Sv: Sumrering i SQL-sats (Datum)

Postades av 2003-09-20 13:42:42 - Andreas Hillqvist

Försök undvika funktionsanrop hoss SQL servern Detta gör frågan ineffektiv eftersom du inte kan använda index.
Jag antar att du bara lagrar datum och inte tidsangivelse.

Du kan t.ex. skriva så här:
<code>
<TABLE>
<%
Public Function FirstWeekDay(Value)
FirstWeekDay = DateAdd("d", 1 - Weekday(Value, vbUseSystemDayOfWeek), Value)
End Function

Dim rs
Dim con

Dim fldAntal
Dim fldDatum

Dim strSQL

Dim vDate
Dim vTemp
Dim vFirstDate
Dim vLastDate


vDate = Request.QueryString("date")

If IsDate(vDate) Then
vDate = CDate(vDate)
Else
vDate = Date()
End If

vFirstDate = FirstWeekDay(vDate)
vLastDate = DateAdd("ww", 1, vFirstDate)

strSQL = "SELECT Datum, Count(*) As Antal" & vbCrLf & _
"FROM Visitors" & vbCrLf & _
"WHERE Datum BETWEEN '" & vFirstDate & "' AND '" & vLastDate & "'" & vbCrLf & _
"GROUP BY Datum"


Set con = Server.CreateObject("ADODB.Connection")
con.Open "Provider=SQLOLEDB.1;" & _
"Integrated Security=SSPI;" & _
"Persist Security Info=False;" & _
"Initial Catalog=MinDatabas;" & _
"Data Source=MinSQLServer"

Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strSQL

Set fldAntal = rs("Antal")
Set fldDatum = rs("Datum")

For vTemp = vFirstDate To vLastDate
Response.Write "<TR><TD>" & StrConv(WeekdayName(Weekday(vTemp)), vbProperCase) & "</TD><TD>"
If rs.EOF Then
ElseIf fldDatum.Value = vTemp Then
Response.Write fldAntal.Value
End If
Response.Write "</TD></TR>
Next

Set fldAntal = Nothing
Set fldDatum = Nothing

rs.Close
Set rs = Nothing

con.Close
Set con = Nothing

%>
</TABLE>
">Tidigare vecka | ">Nästa vecka
</code>


Svara

Sv: Sumrering i SQL-sats (Datum)

Postades av 2003-09-28 22:49:49 - Johan Svensson

Man tackar och bockar... =)

Mvh
Johan.NET


Svara

Nyligen

  • 17:54 Vegastars New Zealand
  • 16:56 Verde Casino Danmark
  • 13:54 Vegastars: Top Australian Online C
  • 21:28 Chicken Road Casino Game
  • 21:21 1xBet Promo Code 2025
  • 18:37 Remove the bumper in AUDI
  • 15:35 Chicken road crash game
  • 21:41 Automotive Services UK

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 979
27 965
271 783
838
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies