0

次のデータを含むテーブルがあります。

=========================================
| name        |  version   | project_id |
=========================================
| foo         |           1|           1|
| new foo     |           2|           1|
| bar         |           1|           2|
=========================================

各製品の最新バージョン レコードを返すクエリを作成するにはどうすればよいですか? 上記の表から、次の結果が必要です。

=========================================
| name        |  version   | project_id |
=========================================
| new foo     |           2|           1|
| bar         |           1|           2|
=========================================           
4

3 に答える 3

4

テストテーブル

ここに画像の説明を入力してください

クエリ

ここに画像の説明を入力してください

結果

ここに画像の説明を入力してください

私の友達に勝つこと:)

于 2012-05-25T15:17:16.957 に答える
1
SELECT
  t1.name, t1.version, t1.project_id
FROM
  tablename t1
JOIN
  (SELECT max(version) as version, project_id FROM tablename GROUP BY project_id) t2
ON t1.project_id = t2.project_id AND t1.version = t2.version
于 2012-05-25T15:19:50.540 に答える
0

これを行う最も簡単な方法を以下に示します。

select substring_index(group_concat(`name` order by version),',',-1) as `name`,
max(version) as version,project_id 
from your_table 
group by project_id 
order by projec`t_id;
于 2012-05-25T20:44:23.057 に答える