有一個數據表
ID time pos result
1 15:00:1 1 true
1 15:00:1 2 true
1 15:00:1 3 true
1 15:00:1 4 true
1 15:00:2 1 true
1 15:00:2 2 true
3 15:00:1 1 true
3 15:00:1 2 False
3 15:00:1 3 true
3 15:00:1 4 true
如上: 在ID time 作為唯一標識的情況下 Pos項要有1 2 3 4 四項全有才算一組完整數據, 如果其result全為true則為true, 例: 1 15:00:1為true
同理 3 15:00:1 為 false, 1 15:00:2 為無效數據
如果有多項 ID 為 1的完整數據 ,則統計時以最晚的為准
整個數據庫少的有幾千行,多的有幾萬,我要統計其true的比例,而且怎麼樣統計才是效率較高呢?? SQL能做到?
select * from table a where exists(select pk from (select count(*) n ,pk from table group by pk) b where a.pk = p.pk and n >3) and result = true
這個應該比較完整