获取行我有以下表: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