1

こんにちは、次のように表示される各タスクの完了レベルと異なるタスクをリンクする重複した ID を持つテーブルがあります。

id      date                    perc     taskid
4722    2007-11-08 16:20:14     0.00      3
4724    2007-11-20 15:32:40     25.71     5
4722    2007-11-08 16:20:14     0.00      8
4727    2008-01-29 10:19:39     0.00      18
4726    2008-01-28 11:44:50     7.14      13
4726    2008-01-28 11:44:50     34.29     90
4728    2008-02-11 13:14:14     2.86      21

パーセンテージが最も高い個別のIDを返したいと思います...つまり。

4722    2007-11-08 16:20:14     0.00      3
4724    2007-11-20 15:32:40     25.71     5
4727    2008-01-29 10:19:39     0.00      18
4726    2008-01-28 11:44:50     34.29     90
4728    2008-02-11 13:14:14     2.86      21

を使用するGROUP BYと思いますが、各列の最大値を取得するにはどうすればよいですか?

dateおまけ…パーセンテージが同じなら、さらに最新順にソートすることはできますか?

更新: パーセンテージが最も高い taskid を記録に残しておきたいですか?

4

2 に答える 2

5

何方をお探しですか

SELECT id, date, MAX(perc) as MAX_PERC
FROM YourTable
GROUP BY id, date

特定の ID の日付がエントリ間で異なる可能性はありますか? それとも常に同じ日付ですか?

もしそうなら、特定の列のグループごとの最大値を保持している行を見たいと思うかもしれません

于 2013-08-13T08:40:24.907 に答える
0

のようにしてみてください

SELECT id,date,MAX(perc) AS MAX_PERCENT
FROM My_Table
GROUP BY id

デートもできGROUP BYます。

于 2013-08-13T08:41:40.597 に答える