Einzelnen Beitrag anzeigen
  #9  
Alt 04.05.2011, 21:05:29
thomas_w thomas_w ist offline
Junior Member
 
Registriert seit: Aug 2010
Alter: 14
Beiträge: 395
AW: datetime Zeitraum zwischen start und end abfragen

Zitat:
Zitat von goldlife Beitrag anzeigen
ist das irgendwie mit SQL möglich?
Prinzipiell schon, aber einfach ist es nicht. Die Richtung könnte so aussehen:

a) eine neue Tabelle um die "Mess-"Zeitpunkte festzulegen

Code:
CREATE TABLE zeitraum(
  id INT NOT NULL,
  zeitpunkt DATETIME NOT NULL
);

INSERT INTO zeitraum VALUES 
  (1, '2011-04-26 07:00:00'),
  (2, '2011-04-26 08:00:00'),
  (3, '2011-04-26 09:00:00'),
  (4, '2011-04-26 10:00:00'),
  (5, '2011-04-26 11:00:00');
b) folgende Abfrage zeigt, zu welchen Zeitpunkt wie viele User da waren

Code:
SELECT z.zeitpunkt, COUNT(DISTINCT o.user_id) AS anzahl_user
  FROM zeitraum z
  LEFT JOIN occupancy o
    ON z.zeitpunkt BETWEEN o.start AND o.end
GROUP BY z.zeitpunkt
ORDER BY z.zeitpunkt
+---------------------+-------------+
| zeitpunkt           | anzahl_user |
+---------------------+-------------+
| 2011-04-26 07:00:00 |           0 |
| 2011-04-26 08:00:00 |           1 |
| 2011-04-26 09:00:00 |           1 |
| 2011-04-26 10:00:00 |           1 |
| 2011-04-26 11:00:00 |           2 |
+---------------------+-------------+
5 rows in set (0.00 sec)


mysql>
Mal als Überlegung....

Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.

Geändert von thomas_w (04.05.2011 um 21:17:14 Uhr)
Mit Zitat antworten