我正在嘗試創建一個執行以下操作的SQL語句,但顯然會失敗。複雜SQL選擇語句
選擇來自它基於下面的準則的視圖和過濾器的所有信息:
- 如果給定的字段「CUSTOMER_NUMBER」存在於表格中的任何點
- 然後檢查內的任何重複最近30天
- 然後輸出按客戶編號分組的所有不同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
我已經融化我的大腦試圖找出如何或者如果這甚至有可能做一個查詢任何幫助將不勝感激!
如何選擇日期 - 是否總是選擇MIN()? – sgeddes
@sgeddes日期應該是它第一次出現在表格中。 – bmanhard