我正在测试并尝试理解和调整由其他人编写的大型查询,希望对GROUP BY部分中的整数含义有所帮助。它具有以下结构:
SELECT
column1,
column2,
SUM(column3),
SUM(column4),
FROM
table1 AS a
WHERE
column5 <> 3
GROUP BY
column1,
7,
column2;
7做了什么?我无法在输出中的任何地方找到它,或者看看它有什么效果。
答案 0 :(得分:2)
在Group by
上使用任何整数值时,表示按第7列分组。可以使用ORDER BY
我假设您已在实际代码中提供了示例代码,您必须在SELECT
子句中包含7列或7列以上
答案 1 :(得分:2)
documentation of the SELECT
statement解释说:
查询中的可以使用列名,列别名或列位置在
ORDER BY
和GROUP BY
子句中引用为输出选择的列。 列位置是整数,以1开头。
GROUP BY 7
不是有效的列位置,因为SELECT
子句仅包含4
个表达式。
答案 2 :(得分:0)
GROUP BY
和ORDER BY
中使用的整数值是从1开始的列的位置(对不起数组的计数系统;))。
您可以在官方文档here上查看更多内容。