1
id | userid | total_points_spent
1  | 1      | 10
2  | 2      | 15
3  | 2      | 50
4  | 3      | 5
5  | 1      | 15

userid上記の表を使用して、最初に、次のように、最大​​の行を保持する重複を削除したいと思いますtotal_points_spent

id | userid | total_points_spent
3  | 2      | 50
4  | 3      | 5
5  | 1      | 15

次に、の値を合計したいと思いますtotal_points_spent。これは簡単な部分であり、結果として70

4

1 に答える 1

2

あなたが意味した「削除」が削除または選択することであるかどうかはよくわかりません。これは、それぞれ最大totalpointspendレコードのみを選択するためのクエリです。

SELECT tblA.* 
  FROM ( SELECT userid, MAX(totalpointspend) AS maxtotal
           FROM tblA
           GROUP BY userid ) AS dt
INNER JOIN tblA 
    ON tblA.userid = dt.userid
   AND tblA.totalpointspend = dt.maxtotal           
ORDER BY tblA.userid  
于 2012-07-06T01:18:34.717 に答える