选择MIN日期和MIN日期+ 11个月 - MySQL

时间:2017-08-10 19:17:53

标签: mysql sql

我有一张表,列出了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)

如果没有嵌套查询并多次调用同一个表,是否有一种干净的方法可以做到这一点?

1 个答案:

答案 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) 上添加索引。