2

この構造のテーブルがあります

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

すべての from_id を最大日付で取得したい (最大日付の id とは異なる)

つまり、

id |from_id |to_id |date

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

このクエリを使用しました

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

しかし、日付値が最小の from_id を取得しています

4

1 に答える 1

2

これを試して -

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
于 2012-05-25T10:39:43.110 に答える