0

私はこのクエリを持っています:

SELECT gamer_id,COUNT(*) AS sum, SUM(amount) as amount 
        FROM sales_list 
        WHERE rdate BETWEEN '2012-04-01' AND '2012-04-30' AND gamer_id NOT IN 
            (SELECT gamer_id FROM sales_list WHERE rdate < '2012-04-01' GROUP BY gamer_id) 
        GROUP BY gamer_id

このクエリは「2」の結果を出力し、「1」だけを探しています。

4月に2回デポジットするゲーマーが1人いますが、デポジットしたゲーマーの合計を数えるためだけにデポジットの合計を数えたくありません。

何かアドバイス?

4

2 に答える 2

1

よくわかりませんが、ゲーマーの入金数だけ、または追加で入金した金額が欲しいですか?!

これにより、多くの預金が提供されます。

SELECT gamer_id, COUNT(gamer_id) AS sum, SUM(amount) as amount 
FROM sales_list 
WHERE rdate BETWEEN '2012-04-01' AND '2012-04-30'
GROUP BY gamer_id
HAVING COUNT(gamer_id)>0

編集:

SELECT DISTINCT gamer_id
FROM sales_list 
WHERE rdate BETWEEN '2012-04-01' AND '2012-04-30' 
AND gamer_id NOT IN  (SELECT gamer_id 
                      FROM sales_list 
                      WHERE rdate < '2012-04-01') 
GROUP BY gamer_id
于 2012-05-01T08:43:38.363 に答える
0

これを試して:

SELECT sl.gamer_id,COUNT(*) AS sum, SUM(sl.amount) as amount 
        FROM sales_list sl
        WHERE sl.rdate BETWEEN '2012-04-01' AND '2012-04-30' AND sl.gamer_id NOT IN 
            (SELECT sl1.gamer_id FROM sales_list sl1 WHERE sl1.rdate < '2012-04-01' GROUP BY sl1.gamer_id) 
        GROUP BY sl.gamer_id
于 2012-05-01T08:48:44.107 に答える