![]() |
Datenbank: InterBase • Version: 7.5 • Zugriff über: Delphi 2006 prof.
Group by "Datum" Problem
Hi,
bin gerade am Suchen und finde keine Lösung für mein Problem. Meine Tabelle enthält u.a. folgendes: DOSENMENGE SNH_DATUM 15 15.08.2010 24 25.08.2010 11 05.09.2010 Jetzt möchte ich es nach Monaten gruppieren, InterBase meldet leider nur Fehler. SELECT SUM(SNH_DOSENMENGE) as DOSENMENGE, Extract (MONTH from SNH_DATUM) as MONAT FROM SNACK_HAUPT GROUP BY MONAT <- Fehler: was ist MONAT? ..oder GROUP BY Extract (MONTH from SNH_DATUM) <- Extract unerlaubt Die beiden Sachen scheinen in anderen Datenbanken zu funktionieren, wie muss man es in InterBase machen?? Ich möchte wissen, wie viele Dosen in einzelnen Monaten (oder Jahren) verkauft wurden. Viele Grüsse |
AW: Group by "Datum" Problem
Ich habe das Problem bisher immer mit dem Umweg über einen View gelöst. Bei dem Select auf den View kannst du dann dein group by Monat machen.
|
AW: Group by "Datum" Problem
Oder so
SQL-Code:
SELECT
SUM(SNH_DOSENMENGE) as DOSENMENGE, Extract (MONTH from SNH_DATUM) as MONAT FROM SNACK_HAUPT GROUP BY Extract (MONTH from SNH_DATUM) |
AW: Group by "Datum" Problem
Danke, versuche es über View.
An alzaimar: bzg. GROUP BY Extract (MONTH from SNH_DATUM) Wie ich bereits oben vermerkt habe: Extract hinter Group by führt zum Fehler bei InterBase |
AW: Group by "Datum" Problem
Hallo cugar,
alzaimar meinte bestimmt:
SQL-Code:
Für Auswertungen greifst Du aber trotzdem über eine VIEW auf die Daten zu - Du musst dann bei Änderungen an der Basis-Tabelle nur die View anpassen.
SELECT
EXTRACT (MONTH FROM snh_datum) AS monat, SUM(snh_dosenmenge) AS dosenmenge, FROM snack_haupt WHERE EXTRACT (YEAR FROM snh_datum) = :year GROUP BY 1 ORDER BY 1 DESC Grüße vom marabu |
AW: Group by "Datum" Problem
Geht auch nicht, Token Unknow: 1
Weiß manche Datenbanken erlauben es mit Zahlen zu machen, Interbase will nicht :) Ich verwende DBChart und hab da es angebunden. Bei DBChart kann man es auswählen wie es gruppiert werden soll (Jahr, Monat, Woche usw), verändert DBChart für sich irgendwie die SQL-Anweisung(denn da wird es richtig angezeigt)? |
AW: Group by "Datum" Problem
Welches 1 mahnt er an?
@Achim: Welcome back! |
AW: Group by "Datum" Problem
Zeile 6
GROUP BY 1 |
AW: Group by "Datum" Problem
Versuch es mal mit einer Derived Table:
SQL-Code:
SELECT
s.monat, Sum(s.snh_dosenmenge) as dosenmenge from ( select EXTRACT (MONTH FROM snh_datum) AS monat, EXTRACT (YEAR FROM snh_datum) as jahr snh_dosenmenge FROM snack_haupt) s WHERE s.jahr = :year GROUP BY monat ORDER BY Monat DESC; |
AW: Group by "Datum" Problem
Tatsächlich unterstützt auch das aktuelle Interbase noch keine Spaltennummern in der GROUP BY Klausel, wohl aber in der ORDER BY Klausel:
Zitat:
@Markus: :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz