我有一张表,列出了ID,月份和值。我想查询此表以查找min(month) where value <= 0
。
我写这个的方式不会多次调用同一个表,因为表大约是10毫米行。
到目前为止,我编写的内容使用HAVING
子句来检查month between min(month) and min(month) + 11
是否正常运行。查询不返回任何数据。
select id, month from table
group by id
having month between min(month) and date_add(min(month), interval 11 month)
如果没有嵌套查询并多次调用同一个表,是否有一种干净的方法可以做到这一点?
答案 0 :(得分:3)
你基本上需要扫描两次表。基本上,查询是这样的:
A
提高速度的一个选择是实现子查询并在Mt<-t(M)
O32<-rsparsematrix(nrow=32,ncol=32,nnz=0)
O24<-rsparsematrix(nrow=24,ncol=24,nnz=0)
A<-blockmatrix(dim=c(2,2),names=c("RR","BR","RB","BB"), RR=O32,RB=M,BR=Mt,BB=O24)
上添加索引。