MYSQL-Abfrage jeweils nur des erste vorkommen eines Wertes einer Spalte

MC-René

Erfahrenes Mitglied
Hallo!

Ich hoffe es versteht jeder was ich machen will:

Ich habe eine Tabelle:

PHP:
+------+------+--------+------------+------------+
| ID   | Spalte 1   |  Spalte 2     | Spalte 3 |
+------+------+--------+------------+------------+
|   1 | ABC  | Blubb  | 1 |
|   2 | ABC  | Blubb  | 5 |
|   3 | ABC  | Blubb  | 5 |
|   4 | ABC  | Blubb  | 5 |
|   5 | ab    | Blabla | 7 |
|   6 | xy    | äöüߧ€ | 9 |
|   7 | ab    | Blabla | 7 |
|   8 | xy    | äöüߧ€ | 9 |
|   9 | xy    | äöüߧ€ | 9 |
+------+------+--------+------------+------------+

Nun möchte ich in einer Abfrage jeweils ein Ergebnis mit dem ersten Vorkommen eines Wertes der Spalte 3:

Ausgegeben werden soll:
PHP:
|   1 | ABC  | Blubb  | 1 |
|   2 | ABC  | Blubb  | 5 |
|   5 | ab    | Blabla | 7 |
|   6 | xy    | äöüߧ€ | 9 |

so gehts ja nicht:
PHP:
SELECT ID, Wert FROM Spalte3 ORDER BY Spalte3 LIMIT 1

Ich tippe mal auf

PHP:
Group by

aber konnte bislang nichts gescheites basteln...
Ich wette yaslaw hat wieder ne zündende Idee... :-)
 
etwa so?
SQL:
SELECT
	mytable.*
FROM
	mytable
	INNER JOIN (
			SELECT
				MIN(id) AS first_id,
				`spalte 3` AS spalte_3
			FROM
				mytable
			GROUP BY
				`spalte 3`
		) AS filter
		ON filter.first_id = mytable.id
 
Zuletzt bearbeitet von einem Moderator:
Zurück