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


GROUP BY - Access

Postades av 2006-01-16 12:09:57 - Fredrik Ståhle, i forum access, Tråden har 5 Kommentarer och lästs av 822 personer

Har en sql-sträng som ser ut enl. följande

<code>SELECT Sum(Data.Kavg) AS Mförbr, Data.Date
FROM Data INNER JOIN IDPoint ON Data.PointID = IDPoint.PointID
WHERE (((IDPoint.PointID) In (3,4)) AND ((Data.Date) Between #1/16/1999# And #3/15/1999#))
GROUP BY Data.Date;</code>

Kan man köra en GROUP BY, och isåf hur, som grupperar enl. nedan:
Grupp 1: Sum(kavg) för data mellan 1999-01-16 - 1999-02-15
Grupp 2: Sum(kavg) för data mellan 1999-02-16 - 1999-03-15


Svara

Sv: GROUP BY - Access

Postades av 2006-01-16 12:29:38 - Ola Lindfeldt

Det gör du enklast med UNION

SELECT Sum(Data.Kavg) AS Mförbr, Data.Date
FROM Data INNER JOIN IDPoint ON Data.PointID = IDPoint.PointID
WHERE (((IDPoint.PointID) In (3,4)) AND ((Data.Date) Between #1/16/1999# And #2/15/1999#))
GROUP BY Data.Date
UNION
SELECT Sum(Data.Kavg) AS Mförbr, Data.Date
FROM Data INNER JOIN IDPoint ON Data.PointID = IDPoint.PointID
WHERE (((IDPoint.PointID) In (3,4)) AND ((Data.Date) Between #2/16/1999# And #3/15/1999#))
GROUP BY Data.Date





Svara

Sv:GROUP BY - Access

Postades av 2006-01-16 12:35:57 - Fredrik Ståhle

Hej.

Det finns inte någon 'generell' lösning för t.ex om jag vill gruppera enl. ovan fast för datum mellan t.ex. 1/16/1991 och 3/15/2001. Problemet är att jag bygger ihop sql'en i kod och datumen varierar.


Svara

Sv: GROUP BY - Access

Postades av 2006-01-16 15:19:14 - Ola Lindfeldt

Vad är det som inte fungerar menar du?

Du får ju bygga upp SQL-strängen dynamiskt,
och stoppa in de datum du vill ha.

Antalen UNIONs kan du också göra dynamiskt enligt samma princip.


Svara

Sv:GROUP BY - Access

Postades av 2006-01-16 16:13:40 - Fredrik Ståhle

Låt säga att jag vill gruppera enl. ovan för perioden 1991-01-16 - 2001-01-15, 10 år.
Det skulle innebära 120 st UNIONs i SQL-strängen, men det kanske inte är några problem?

Jag har tidigare fått att SQL-syntaxen är för komplex när jag puttar in för många kriterier i IN satsen
<code> IDPoint.PointID IN (1,2,3 ...)</code>

Men jag testkör så får vi se.

/Fredrik


Svara

Sv: GROUP BY - Access

Postades av 2006-01-16 23:24:18 - Fredrik Ståhle

Har nu testkört med att bygga SQL-strängen med UNION som ovan men tyvärr så får jag felmeddelandet att frågan är för komplex när jag valde en längre tidsperiod.

Tillsvidare får jag köra med en inte alltför snygg nödlösning

<code>rs.Open "SELECT SUM(Kavg) as Mförbr, Data.Date
FROM (Data INNER JOIN IDPoint ON Data.PointID=IDpoint.PointID)
WHERE IDPoint.PointID IN (" & kstring & ") AND Data.Date Between
#" & Format(Mindat, "YYYY-MM-16") & "# AND #" & Format(Maxdat + 1, "YYYY-MM-15") & "#
GROUP BY Date"
rs.MoveFirst
kavg = 0
Do Until rs.EOF
If mDiagstap.avlm(rs!Date) = Mindat Then 'Funktionen avlm sätter ang.datum till
kavg = kavg + rs!Mförbr den siste i månaden d.v.s. både
rs.MoveNext 1999-01-16 och 1999-02-15 kommer
Else att sättas till 1999-01-31

...... kod när jag har komplett summa för kavg för aktuell månad
Mindat=MDiagstap.avlm(Mindat+20) 'Flyttar fram Mindat till den siste i nästa månad
End if
Loop
rs.close</code>

Förslag på förbättring mottages tacksamt.

/Fredrik


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

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 768
27 960
271 761
675
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