当我使用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分组?
三江源。
答案 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
术语必须是单值。