次のことを行う SQL ステートメントを作成しようとしていますが、明らかに失敗しています。
ビューからすべての情報を選択し、次の基準に基づいてフィルタリングします。
- 指定されたフィールド「customer_number」がテーブル内の任意の場所に存在する場合
- 次に、過去 30 日以内に重複がないか確認します
- 次に、customer_number でグループ化されたすべての個別の customer_numbers を出力します
- アイテムが何回繰り返されたかを確認できるようにカウントします。
したがって、今日を現在の日付として使用すると、テーブルに次のデータエントリがあったと言えます。
customer_number, date
111111, 2013-01-01
111111, 2013-05-05
222222, 2013-01-07
222222, 2013-03-19
333333, 2013-05-15
333333, 2013-05-30
SELECT ステートメントで次のものが返されるようにします。
customer_number, date, count
111111, 2013-01-01, 2
333333, 2013-05-15, 2
また、顧客 222222 は、過去 30 日間表示されていないため、表示されません。
これは、私がこれを理解しようとしている限りです。現在の月のデータのみを返します。
SELECT *, COUNT(customer_number)
FROM red_flags
WHERE dealer_id = '75' AND date BETWEEN CURDATE() - INTERVAL 30 DAY AND CURDATE()
GROUP BY customer_number
HAVING COUNT(customer_number) > 1
私は、クエリでこれを行う方法、またはこれが可能であるかどうかを理解しようとして頭を溶かしてきました。