按日期汇总sql server中的表

时间:2016-07-26 14:11:10

标签: sql sql-server

我有一个包含20列的表,其中一列是交易日期,一列是销售额列。我想拉出所有列并按交易日期对其进行分组。但如果我不提及分组中的所有列,我会收到错误。任何建议。

3 个答案:

答案 0 :(得分:0)

GROUP BY语句与聚合函数结合使用,以按一列或多列对结果集进行分组。您需要提供一些聚合函数以将其与group by一起使用。 E.g:

SELECT transaction_date, COUNT(sales_amount) as AmountCount
FROM table_name
GROUP BY transaction_date

答案 1 :(得分:0)

你可以试试这个:

SELECT * 
FROM table_name
order by transaction_date ASC

请注意: 这将从按交易日期排序的表中选择您的20列,并根据您的需要更改ASC或DESC。

答案 2 :(得分:0)

在SQL中使用聚合函数时,需要使用非聚合函数的group by语句。

示例:

Select a.transactiondate,
       a.vehicles,
       a.market,
       a.city,
       sum(a.quantity) as Quantity
from table_name a
group by a.transactiondate,
       a.vehicles,
       a.market,
       a.city

总和是您的汇总功能,因此您不会包含在组中。即使您只想分组日期,您也需要任何其他需要属性的属性。

它会在最精细的数据点上分组。由于您只是对一列进行求和或计数,因此您需要在group by语句中使用所有其他属性。