Klaus Mock: Sql Abfrage mit Gruppierung

Beitrag lesen

Hallo,

Frage:
Ist es möglich, in einer SQL Abfrage von den Blocks, die jeweils die selbe Gruppennummer haben die kleinste und größte Schnittnummer zu bekommen. Wenn die Gruppennummer 0 ist soll direkt die Schnittnummer raus kommen.

D.h. also, dass es eine unterschiedliche Behandlung für Datensätze mit Gruppennummer 0 und solech mit einer anderen Gruppennummer gibt.
Erstere, so verstehe ich das zumindest, sollen ohne Gruppierung behandelt werden, zweitere jedoch mit einer Gruppierung unter Einbeziehung von Aggregat-Funktionen:

SELECT x FROM
(
SELECT x FROM tabelle
 WHERE y = 0
UNION
SELECT MIN(x) FROM tabelle
 WHERE y >0
UNION
SELECT MAX(x) FROM tabelle
 WHERE y >0
)
ORDER BY x ASC

Das wäre eine mögliche Variante unter der Voraussetzung, dass die Datenbank diese Syntax versteht. Da Du nicht angegeben hast, welche Datenbank und vroi allem welche Version dieser Datenbank Du verwendest, gehe ich einmal davon aus, dass dem so ist.

Grüße
  Klaus