schneerunzel
Goto Top

MYSQL View group by

Hallo zusammen,

ich habe eine Tabelle in einer MySQL DB über die ich eine View legen möchte:

Die Tabelle sieht so aus:
unbenannt3
(ID ist der PK)

Zu erkenne ist, das es für die Startnummer 401 zwei eingräte gibt. Das kann durchaus mal vorkommen. Für mehrere Auswertungen, brauche ich jetzt eine View, die mir für jede Kombination aus Startnummer und Messpunkt nur die Zeile mit der frühsten Uhrzeit anzeigt. Bei der Spalt Zeit handelt es sich um den Datentyp time

mein Ansatz war folgender:
select * from messungen group by startnummer,messpunkt order by startnummer, messpunkt, zeit
mit dem Ergebnis:
unbenannt4

Hier ist zusehen, dass beim gruppieren der höhere Wert aus der Spalte zeit genommen wurde.

Wie kann ich das beeinflussen?

Danke für Eure Hilfe

Content-Key: 334416

Url: https://administrator.de/contentid/334416

Printed on: April 19, 2024 at 15:04 o'clock

Member: em-pie
Solution em-pie Apr 07, 2017 updated at 12:48:05 (UTC)
Goto Top
Moin,

wenn du mit Group By arbeitest, musst du die gruppierten Felder auch in das Select Statement mit aufnehmen.
Des Weiteren musst du das Attribut Zeit mit Min(Zeit) darstellen, damit die beste Zeit verwendet wird...

was dir helfen würde wäre folgendes:

SELECT DISTINCT
  startnummer
  , messpunkt
  , MIN(Zeit) AS "Bestzeit"  
FROM
  messungen
GROUP BY
  startnummer
  , messpunkt
ORDER BY
  startnummer
  , messpunkt

Gruß
em-pie
Member: schneerunzel
schneerunzel Apr 07, 2017 at 15:13:25 (UTC)
Goto Top
Super vielen Dank!!!! Passt genau.