【发布时间】:2017-03-09 20:41:28
【问题描述】:
我的桌子:
id int(11) AUTO_INCREMENT
date date
number int(3)
+----+------------+--------+
| id | date | number |
+----+------------+--------+
| 1 | 2010-01-02 | 0 |
| 2 | 2010-01-03 | 3 |
| 3 | 2010-01-04 | 0 |
| 4 | 2010-01-05 | 2 |
| 5 | 2010-01-06 | 1 |
| 6 | 2010-01-07 | 3 |
+----+------------+--------+
我想返回数字之和为6且日期>'2010-01-04'的日期
我想返回添加字段号等于 6 的日期(在特定日期之后,在本例中为 2010-01-04)。示例:我的查询应该返回 2010-01-07 因为 2 在 2010-01-05 1 在 2010-01-06 3 在 2010-01-07
到目前为止,我一直在 MySQL 服务器上使用此查询:
select date
from
(select date, @n:=@n+total total
from
(select date, sum(number) total
from MyTable
where date > '2010-01-04'
group by date
order by date
) t
cross join
(select @n:=0) n
) tt
where total = 6
现在,我们只有一台服务器,在 SQL Server 上,我在 SQL Server 上使用此查询时遇到了一些问题。
【问题讨论】:
-
你不能在 sql server 上使用这个查询。
标签: sql sql-server sum