2017-09-13 83 views
1

我有一個查詢,我需要它只返回一個事件發生在相同的日期在相同的模型/序列號不止一次的結果 - 在此查詢中,只要具體函數事件細節參數在一天內多次出現。下面是該查詢 -獲取正確的計數SQL

SELECT DISTINCT store, tintermodel, tinterserial, eventdetails, trunc(datetime) 
FROM tinter_events 
WHERE tintermodel = 'FM 8000DE' 
AND (datetime >= to_timestamp('2017-05-01', 'YYYY-MM-DD') 
AND datetime < to_timestamp('2017-08-31', 'YYYY-MM-DD')) 
AND function = 'Set Colorant Level' 
AND eventdetails = 'B1[550]' 
GROUP BY store, tintermodel, tinterserial, eventdetails, trunc(datetime) 
ORDER BY store, SUBSTR(eventdetails,1,2), trunc(datetime); 

難道是因爲在GROUP BY語句的末尾添加一個HAVING COUNT(*)> 1那樣簡單?

+0

當你嘗試過什麼事? – Paparazzi

+0

我的問題是我不確定是否返回了我想要的內容(查詢每次運行需要15分鐘的時間。 – BigRedEO

回答

1

通過觀察每模型日期計數檢查它,從那裏你會知道哪些記錄應該只顯示在您的查詢

SELECT trunc(datetime), 
     tintermodel, 
     COUNT(*) 
    FROM tinter_events 
WHERE tintermodel = 'FM 8000DE' 
    AND function = 'Set Colorant Level' 
    AND eventdetails = 'B1[550] 
GROUP BY trunc(datetime), 
      tintermodel 
ORDER BY trunc(datetime) 
+0

謝謝 - 這是一個稍微編輯的版本,用於我需要的內容! – BigRedEO