SQL - DB abfrage (DISTINCT problem)
kasjo
- datenbank
hallo,
ich habe eine tabelle:
--------------------
| id | Gruppe | .. |
---------------
| 1 | 1 |
| 2 | 2 |
| 3 | 1 |
| 4 | 3 |
| 5 | 4 |
| 6 | 3 |
| 7 | 2 |
| 8 | 4 |
| 9 | 1 |
---------------
jetzt will ich pro GRUPPE, die letzte ID haben.
also:
wie erstelle ich am besten diese Abfrage - bei all meine versuchen kam nur unnützes zeugs raus!
danke für eine antwort
grüße kasjo
Halihallo kasjo
jetzt will ich pro GRUPPE, die letzte ID haben.
Was meinst du mit "letzte"?
Die grösste ID zu finden ist kein Problem, um die letzte (welche
Sortierung veranschlagst du? - Datensätze sind in keiner Reihenfolge)
zu finden, müsstest du zuerst definieren was du unter "letzte"
verstehst.
also:
- Gruppe 1 -> id 9
- Gruppe 2 -> id 7
- Gruppe 3 -> id 6
- Gruppe 4 -> id 8
Falls du die grösste ID finden willst:
SELECT
Gruppe,
MAX(id)
FROM
table
GROUP BY Gruppe
wie erstelle ich am besten diese Abfrage - bei all meine versuchen kam nur unnützes zeugs raus!
Es hat zumindest nix mit DISTINCT zu tun.
Viele Grüsse
Philipp
So einfach kann die welt sein:
SELECT Gruppe,MAX(id) as id
FROM table
GROUP BY tid
ORDER BY id DESC
danke vielmals!
also, ich wollte die größte ID einer Gruppe absteigend sortiert nach den IDs ...
ok, so geht :)
So, hab ein wenig weiter probiert!
folgender Fehler passiert:
für jede Gruppe wird mir zwar die größte ID rausgesucht, wenn ich aber weitere spalten dieser ID auslesen, nimmt er nur die erste Reihe (die mit der kleinsten ID).
also wenn ich noch eine Spalte Name habe, dann sucht er mir für die jeweilige Gruppe die 1 Zeile raus und nicht die letzte!
Grund liegt ja in der MAX() funktion von der ID!
lösst also mein problem nicht ganz...
wie sehen alternativ dazu aus?
bitte hilfe!
danke kasjo
Halihallo kasjo
für jede Gruppe wird mir zwar die größte ID rausgesucht, wenn ich aber weitere spalten dieser ID auslesen, nimmt er nur die erste Reihe (die mit der kleinsten ID).
also wenn ich noch eine Spalte Name habe, dann sucht er mir für die jeweilige Gruppe die 1 Zeile raus und nicht die letzte!
Grund liegt ja in der MAX() funktion von der ID!
http://forum.de.selfhtml.org/archiv/2004/5/81472/
lies dich mal durch und beschäftige dich mit den Lösungen die darin
zu finden sind.
Viele Grüsse
Philipp