獲取行我有以下表:SQL:與多個條件
id r_date time_stamp licenseid storeid deviceid value
1 2015-06-12 17:36:15 lic0001 1 0add 52
2 2015-06-12 17:36:15 lic0002 1 0add 54
3 2015-06-12 17:36:15 lic0003 1 0add 53
4 2015-06-12 17:36:21 lic0001 1 0add 54
5 2015-06-12 17:36:21 lic0002 1 0add 59
6 2015-06-12 17:36:21 lic0003 1 0add 52
7 2015-06-12 17:36:21 lic0004 1 0add 55
8 2015-06-12 17:36:15 lic0001 1 0bdd 63
9 2015-06-12 17:36:15 lic0002 1 0bdd 52
10 2015-06-12 17:36:15 lic0003 1 0cdd 52
11 2015-06-12 17:36:15 lic0001 1 0cdd 53
12 2015-06-12 17:36:15 lic0002 1 0cdd 52
13 2015-06-12 17:36:15 lic0004 1 0cdd 52
我需要的量,設備從不高於某個值的設備ID和具有不同的TIME_STAMP> y的計數。所以在上面的表格中,我需要說那些從未具有超過60和y = 1的值的設備。這應該返回下面。由於0add是唯一一款永遠不會低於60的設備,並且可以在2個不同的時間戳中看到。
r_date deviceid count
2015-06-12 0add 2
我有下面的查詢,以幫助計取,但我怎麼加計數> 1,並且第一條件的條件,只包括值始終低於一定值?我在桌上有兩百萬行。
SELECT device_id, r_date, COUNT(DISTINCT time_stamp) AS numRows
FROM myTable
GROUP BY device_id, r_date;
r_date的類型爲DATE和TIME類型
我想你會需要各種各樣的子查詢在這裏先消除從未具有低於60的值的設備然後將其餘的組合在一起。 –
你能提供一個相關數據集的小轉儲,或者是一個假結構,但是結構如何? –
@VictorNitu結構和我在這裏完全一樣。讓我知道如果你需要更多 – fheo