我有一个包含20列的表,其中一列是交易日期,一列是销售额列。我想拉出所有列并按交易日期对其进行分组。但如果我不提及分组中的所有列,我会收到错误。任何建议。
答案 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语句中使用所有其他属性。