Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 此数据集最后三个月的总和计数?_Sql_Sql Server_Tsql - Fatal编程技术网

Sql 此数据集最后三个月的总和计数?

Sql 此数据集最后三个月的总和计数?,sql,sql-server,tsql,Sql,Sql Server,Tsql,我有下面的数据集,上面的日期字段是一个字符串。如何使用此数据集将查询写入过去三个月的合计计数: 你可能在找这样的东西 SELECT TOP 3 YEAR, MONTH, SUM(Counts) as Total FROM your_table GROUP BY YEAR, MONTH ORDER BY YEAR DESC, MONTH DESC 你可能在找这样的东西 SELECT TOP 3 YEAR, MONTH, SUM(Counts) as Total FROM your_table

我有下面的数据集,上面的日期字段是一个字符串。如何使用此数据集将查询写入过去三个月的合计计数:


你可能在找这样的东西

SELECT TOP 3 YEAR, MONTH, SUM(Counts) as Total
FROM your_table
GROUP BY YEAR, MONTH
ORDER BY  YEAR DESC, MONTH DESC

你可能在找这样的东西

SELECT TOP 3 YEAR, MONTH, SUM(Counts) as Total
FROM your_table
GROUP BY YEAR, MONTH
ORDER BY  YEAR DESC, MONTH DESC

您可以将字符串日期转换为日期格式

select top 3 * from test order by convert(datetime,'01-'+date,6) desc 
上面的查询将为您提供过去三个月的数据。那你就可以算数了


您可以将字符串日期转换为日期格式

select top 3 * from test order by convert(datetime,'01-'+date,6) desc 
上面的查询将为您提供过去三个月的数据。那你就可以算数了


根据@Phong answer,您可以通过以下方式获得结果:

select sum(t.summary)
from (
 select top 3 sum(counts) summary
 from test
 group by y, m
 order by y desc, m desc
) t
也可以使用ROW_NUMBER函数获得相同的结果:

select sum(t.counts)
from (
 select mon, y, counts, 
    row_number() over(order by y desc, mon desc) RN
 from test
) t
where RN <= 3

根据@Phong answer,您可以通过以下方式获得结果:

select sum(t.summary)
from (
 select top 3 sum(counts) summary
 from test
 group by y, m
 order by y desc, m desc
) t
也可以使用ROW_NUMBER函数获得相同的结果:

select sum(t.counts)
from (
 select mon, y, counts, 
    row_number() over(order by y desc, mon desc) RN
 from test
) t
where RN <= 3

请展示你想要的结果。和您的尝试。请显示您想要的结果。还有你的尝试。