我有一个包含20列的表格。我需要将它们分组到除最后一列之外的所有列。
SELECT att1, att2, att3, ..., att19, sum(att20)
FROM table
GROUP BY att1, att2, att3, ..., att19;
但有没有更短的方式来编写它而不是列出所有属性?
我试过
SELECT 1,2,3,...,19, sum(att20)
FROM table
GROUP BY 1,2,3,...,19;
我想知道是否有像
这样的东西SELECT * (except att20), sum(att20)
FROM table
GROUP BY * (except att20);
答案 0 :(得分:1)
但有没有更短的方式来编写它而不是列出所有属性?
没有别的办法。您必须明确列出所有列。
我能想到的另一种解决方法是将数据插入到包含所有19列的临时表中(留下您不想要的),然后按照以下方式执行:< / p>
select distinct * from #temp
答案 1 :(得分:0)
没有其他方法可以做到这一点。您必须在group by中编写所有列并选择语句。