2016-12-08 59 views
0

我有一个数据库,其数据具有x个不同的过滤器,角度在-180到180之间。我想检查某个过滤器是否在5度范围内有至少一个数据点。所以,是或1,如果-180和-175之间的数据点的过滤器1SQL检查数据是否被采样

我已经成功地在计算总

'SELECT COUNT(data),filt FROM database GROUP BY filt ORDER BY filt' 

每个过滤项的数量这给:

(11093, 'R1') 
(24067, 'R2') 
(12234, 'R3') 
(4, 'RH2') 
(12888, 'SIC') 
(7557, 'SI') 
(1570, 'SI2') 
(2922, 'SI3') 

但我不知道如何采取下一步

+0

'max(当filt ='filtervalue'时的情况和在-180和-175之间的数据点,然后1结束时)'max =假设'filtervalue'设置为您要检查的过滤器,并且datapoint是包含度数的列名称。问题不清楚,但我们不知道表'数据库'奇表名称的所有字段名称... – xQbert

回答

0

下面是依赖于一个事实,即点总是在范围-180到+180

的解决方案
SELECT distinct ((id -180) div -355) as d, filt 
FROM database 
WHERE ((id -180) div -355) = 1 
ORDER BY filt; 

问题是只有值-175到-180会给d = 1。