group by()和group by之间有所不同

时间:2013-10-23 06:50:59

标签: mysql group-by mysql-error-1064

当我使用mysql时出现此错误,请任何人解释一下这个问题。以下A,B,C之间有什么不同?

A) select * from table where a=a group by(b) // this execute & work fine
B) select * from table where a=a group by b,c // this execute * work fine

c) select * from table where a=a group by (b,c) // this is giving an error - error is operand should contain 1 column.

在A中它可以很好地处理括号中的错误,但是当我在C中使用相同的方法进行多次分组时,它不起作用并给出提到的错误。

为什么? group by()& group之间有什么不同?分组在mysql分组?

三江源。

2 个答案:

答案 0 :(得分:0)

group by(b,c)表示您按字段“b,c”分组,因为您使用“()”。

按b分组,c表示按字段b分组,然后按字段c分组

答案 1 :(得分:0)

这些是等价的:

group by (b), (c)
group by b, c

因为括号是多余的(它们没有效果),但在此:

group by (b, c)

括号从表达式b, c创建单个排序术语,这不是单个值,order by术语必须是单值。