[SQL] query met weekgemiddelde

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik probeer een query te schrijven dat de weekgemiddeldes weergeeft van een bepaalde kolom.

Het volgende schijnt niet te werken, maar ik begrijp niet goed waarom:
code:
1
SELECT  AVG(a) as avgA, AVG(b) as avgB FROM results WHERE fk=0 GROUP BY DATEPART(ww,myDateTime)


Het is een access database.

Iemand een idee?

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Krijg je ook een foutmelding? Of wat werkt er niet zoals je zou verwachten?

Het enige wat me echt opvalt is dat je DATEPART(ww,myDateTime) niet in je select list hebt staan. Tevens zal je op deze manier natuurlijk een gemiddelde krijgen die alle waardes van bijvoorbeeld week 1 an alle jaren bevat.

Een query als
SQL:
1
2
3
4
5
6
7
SELECT   DATEPART( yy, myDateTime )
       , DATEPART( ww, myDateTime )
       , AVG( a )
FROM myTabel
WHERE b = c
GROUP BY   DATEPART( yy, myDateTime )
         , DATEPART( ww, myDateTime )

Zou gewoon moeten werken.

[ Voor 56% gewijzigd door Woy op 02-11-2009 13:11 ]

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 01:33

MueR

Admin Tweakers Discord

is niet lief

Volgens de excuse card: StarForce.

Zonder wat meer info is het echter glazen bol kijken.

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Vergeet je niet gewoon de aanhalingstekens om "ww", dus 'DATEPART('ww',myDateTime)? Verder is het wat gek om de weeknummers zelf niet te retourneren...

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
pedorus schreef op maandag 02 november 2009 @ 13:17:
Vergeet je niet gewoon de aanhalingstekens om "ww", dus 'DATEPART('ww',myDateTime)? Verder is het wat gek om de weeknummers zelf niet te retourneren...
Datepart verwacht geen string als eerste argument. Dus nee ;)

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Psst, dit is Access, geen SQL Server of SQL Server Compact Edition. ;)

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dank voor snelle reactie.
Ik heb de query geprobeerd zoals aangegeven door WoY, maar access verwacht blijkbaar een argument voor 'ww' en 'yy'. Als ik dan een integer ingeef krijg ik een error:
This expression is typed incorrectly or is too complex to be evaluated. For example, a numeric expression may contain too many complicated elements. Try simplifying the expression by assigning parts of the expression to variables.
Ik wil eigenlijk een lijst van alle weken met bijhorende gemiddelde.
Bijvoorbeeld:
week1: 18
week 2: 20
week18: 3
...

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Verwijderd schreef op maandag 02 november 2009 @ 13:37:
Dank voor snelle reactie.
Ik heb de query geprobeerd zoals aangegeven door WoY, maar access verwacht blijkbaar een argument voor 'ww' en 'yy'. Als ik dan een integer ingeef krijg ik een error:

[...]


Ik wil eigenlijk een lijst van alle weken met bijhorende gemiddelde.
Bijvoorbeeld:
week1: 18
week 2: 20
week18: 3
...
Voor Access is de opmerking van pedorus nog niet zo gek. Als je even op "Acces datepart" zoekt, zie je bijvoorbeeld dit resultaat: http://www.techonthenet.c...nctions/date/datepart.php

Blijkbaar gebruik je de datepart functie gewoon niet goed. Dat kun je natuurlijk gewoon in de documentatie terug vinden.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
met de quotes lukt het inderdaad wel.
Bedankt voor de hulp!
Pagina: 1