GROUP BY子句中Integer的含义

时间:2018-02-23 09:16:07

标签: mysql sql group-by

我正在测试并尝试理解和调整由其他人编写的大型查询,希望对GROUP BY部分中的整数含义有所帮助。它具有以下结构:

SELECT
  column1,
  column2,
  SUM(column3),
  SUM(column4),
FROM
  table1 AS a
WHERE 
  column5 <> 3
GROUP BY
  column1,
  7,
  column2;

7做了什么?我无法在输出中的任何地方找到它,或者看看它有什么效果。

3 个答案:

答案 0 :(得分:2)

Group by上使用任何整数值时,表示按第7列分组。可以使用ORDER BY

完成相同的操作

我假设您已在实际代码中提供了示例代码,您必须在SELECT子句中包含7列或7列以上

答案 1 :(得分:2)

documentation of the SELECT statement解释说:

  

可以使用列名,列别名或列位置在ORDER BYGROUP BY子句中引用为输出选择的列。   列位置是整数,以1开头。

查询中的

GROUP BY 7不是有效的列位置,因为SELECT子句仅包含4个表达式。

答案 2 :(得分:0)

GROUP BYORDER BY中使用的整数值是从1开始的列的位置(对不起数组的计数系统;))。

您可以在官方文档here上查看更多内容。