Nach besonderen Zeiten gruppieren?
am 02.09.2007 21:24:56 von Sebastian SuchanekHallo NG!
In einer MySQL-Datentabelle habe ich unter anderem eine
DATETIME-Spalte. Jetzt möchte ich die Daten dieser Tabelle so
abfragen (und weiterverarbeiten), daß die Ergebnisse nach
Einträgen mit "runden" Zeiten - also z.B. sekundengenau zu einer
vollen Stunde - und dem jeweiligen Rest gruppiert sind.
Die einzige funktionierende Lösung, die mir bislang eingefallen
ist, läuft über ein UNION:
SELECT COUNT(*) AS Anzahl, $weitereFelder
FROM Tabelle
WHERE MINUTE(Zeit)='0' AND SECOND(Zeit)='0'
AND $weitereBedingungen
UNION
SELECT COUNT(*) AS Anzahl, $weitereFelder
FROM Tabelle
WHERE (MINUTE(Zeit)<>'0' OR SECOND(Zeit)<>'0')
AND $weitereBedingungen
Allerdings finde ich UNIONs prinzipiell nicht besonders elegant
und speziell hier muß man natürlich darauf achten, daß die
Zusatzbedingungen bei beiden Abfragen gleich sind, um sinnvolle
Ergebnisse zu erhalten.
Seht Ihr andere Lösungsmöglichkeiten, die evtl. ohne UNION
auskommen?
Tschüs,
Sebastian
--
http://www.baumaschinen-modelle.net
http://www.schwerlast-rhein-main.de