2 Stimmen

Ordnen nach und Gruppieren nach mit denselben Zeilen in einer Mysql-Select-Abfrage

Ich habe eine Tabelle mit dieser Struktur

id |from_id |to_id |date

1  |1       |3     |25
2  |1       |3     |24
3  |2       |3     |28
4  |2       |3     |20
5  |2       |3     |30

Ich möchte alle from_id mit maximalem Datum abrufen (verschieden von id mit maximalem Datum)

d. h,

id |from_id |to_id |date

1  |1       |3     |25
5  |2       |3     |30

Ich habe diese Abfrage verwendet

`select * from table where to_id=3 group by from_id order by date desc`

Aber ich erhalte die from_id mit dem geringsten Datumswert

2voto

JHS Punkte 7699

Versuchen Sie das -

SELECT tablename.*
FROM (SELECT from_id, MAX(date) dat
      FROM tablename 
      GROUP BY from_id) innerquery
  JOIN tablename
    ON  innerquery.from_id = from_id
    AND innerquery.dat = date

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X