MySql - SELECT näher spezifizieren
Helmuth
- datenbank
0 suit0 Vinzenz Mai0 Helmuth
Hallo Freaks.
Zur Info: MySql 5.0
Ich habe folgende abgespeckte Tabelle:
ID | DATE | CIRCLE
------------------------
1 | 2008-04-15 | 1
2 | 2008-04-16 | 1
3 | 2008-04-17 | 0
4 | 2008-04-18 | 0
5 | 2008-04-19 | 0
6 | 2008-04-20 | 0
7 | 2008-04-21 | 0
8 | 2008-04-22 | 0
9 | 2008-04-23 | 0
Nun möchte ich in "einer" SELECT-Anweisung EINEN Datensatz mit dem kleinsten DATE und CIRCLE 1 und ZWEI Datensätze mit dem kleinsten DATE und CIRCLE 0.
So sollte das Ergebnis aussehen:
ID | DATE | CIRCLE
------------------------
1 | 2008-04-15 | 1
3 | 2008-04-17 | 0
4 | 2008-04-18 | 0
Hat jemand einen Ansatz, oder meint ihr es ist besser, es einfach mit zwei SELECT-Anweisnungen umzusetzen.
Vielen Dank schomma
Helmuth
Hat jemand einen Ansatz, oder meint ihr es ist besser, es einfach mit zwei SELECT-Anweisnungen umzusetzen.
folgendes ist eine versuch wert - gibt aber sicherer bessere und schönere lösungen, je nach mysql-version bekommst du aber einen fehler, dass subquerys in "IN" nicht erlaubt sind
SELECT * FROM tabelle
WHERE id IN(SELECT id FROM tabelle WHERE circle = 1 ORDER BY date limit 0,1) OR
id IN(SELECT id FROM tabelle WHERE circle = 0 ORDER BY date limit 0,2);
Hallo,
Zur Info: MySql 5.0
das ist ausreichend.
So sollte das Ergebnis aussehen:
ID | DATE | CIRCLE
1 | 2008-04-15 | 1
3 | 2008-04-17 | 0
4 | 2008-04-18 | 0
Hat jemand einen Ansatz, oder meint ihr es ist besser, es einfach mit zwei SELECT-Anweisnungen umzusetzen.
Seit Version 4.0 kennt MySQL UNION.
Freundliche Grüße
Vinzenz
BESTENS, das ist was ich gesucht habe.
Danke!
Seit Version 4.0 kennt MySQL UNION.