Abfrageproblem Kriterium: Datum(Tag)=Montag

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Abfrageproblem Kriterium: Datum(Tag)=Montag

Re: Abfrageproblem Kriterium: Datum(Tag)=Montag

von seballa » Fr, 18.01.2008 12:23

WELTKLASSE
Funtioniert hat es aber so

Code: Alles auswählen

SELECT DAYOFWEEK( "Datum" ) AS "Wochentag", SUM( "Anzahl" ) FROM "Tabelle1" Where  WHERE ( ( MONTH( "Datum" ) = '1'  ) ) GROUP BY  "Wochentag"
VIELEN VIELEN DANK

Re: Abfrageproblem Kriterium: Datum(Tag)=Montag

von komma4 » Fr, 18.01.2008 12:12

das geht so:

Code: Alles auswählen

SELECT DAYOFWEEK( "Datum" ) AS "Wochentag", SUM( "Anzahl" ) FROM "Tabelle1" GROUP BY  "Datum" 

Re: Abfrageproblem Kriterium: Datum(Tag)=Montag

von seballa » Fr, 18.01.2008 11:28

VIELEN DANK! Langsam komm ich rein.
Es geht aber gleich weiter. Ich kann jetzt meine ANZAHL für jeden Tag der Woche anzeigen lassen:

Code: Alles auswählen

SELECT ( SUM( "Anzahl" ) WHERE DAYOFWEEK( "Datum" ) = '2'
Jetzt möchte ich mir alle Tage der Woche auf einmal anzeigen lassen damit mein Ergebnis etwa so aussieht:

Code: Alles auswählen

WOCHENTAG	ANZAHL
	1			52
	2			84
	3			39
...
Wie könnte ich das machen??

Re: Abfrageproblem Kriterium: Datum(Tag)=Montag

von komma4 » Fr, 18.01.2008 09:58

Dokumentation: siehe Link in meinem ersten posting.

Re: Abfrageproblem Kriterium: Datum(Tag)=Montag

von seballa » Fr, 18.01.2008 09:55

So ne Glaskugel will ich auch!
Vielen Dank kommedamit sehr gut zurecht.

Gibt es eine Dokumentation der Funktionen bzw. Methoden von HSQLDB??

Vielen Dank Seballa

Re: Abfrageproblem Kriterium: Datum(Tag)=Montag

von komma4 » Fr, 18.01.2008 09:43

Das sollte genau so funktionieren.

Mein Standard-Satz: die Möglichkeiten von SQL sind abhängig von der verwendeten Datenbank.

Meine Glaskugel sagt mir "seballa nimmt HSQLDB", deshalb habe ich bei denen in der Dokumentation nachgeschaut:

Code: Alles auswählen

SELECT SUM( "Anzahl" ) FROM "Tabelle" 
WHERE MONTHNAME( "Datum" )  = 'January' AND 
YEAR( "Datum" ) = '2007' AND 
DAYNAME( "Datum" ) = 'Monday' )
Anmerkung:
die Funktionen geben englische Zeichenketten zurück - oder nummerische Werte, wie im Falle MONTH( "Datum" ). Ob Du nummerisch oder per Zeichenvergleich abfragst - bleibt Dir überlassen. Ersteres hat halt den Vorteil, dass bspw. ein "Halbjahr" einfach durch < 7 ermittelt werden kann.

Kommst Du damit zurecht?

Abfrageproblem Kriterium: Datum(Tag)=Montag

von seballa » Fr, 18.01.2008 09:07

Mein Problem ist vereinfacht folgendes:

Meine Tabelle hat 2Felder: Datum und Anzahl

Ich möchte in einer Abfrage die Summe aller Felder "Anzahl" ausgeben an denen das Datum z.B. im Januar 2007 liegt und ein Montag ist.
Also etwa so:(natürlich funktioniert das so nicht)

Code: Alles auswählen

SELECT SUM( "Anzahl" ) FROM "Tabelle" 
WHERE Monat(Tabelle.Datum) = JANUAR AND 
Jahr(Tabelle.Datum) = 2007 AND 
TAG(Tabelle.Datum) =Monatg )
Vielen Dank
Seballa

Nach oben