先说说ORDER BY和GROUP BY的功能
假设一个表tab有一个id字段、一个Name字段,内容如下
id Name
3 张三
5 李四
1 王五
1 赵六
ORDER BY是排序
select id from tab order by id这条SQL的结果应该是
id
1
1
3
5
GROUP BY是分组,相同的组别仅显示一次
select id from tab group by id这条SQL的结果应该是
id
1
3
5
另外在select后接N个字段,比如id,Name两个字段,然后Group By后接id
select id,Name from tab group by id这样的SQL是会报错的,因为你必须将group by以外的字段,用聚合函数聚合起来(如max,min,Count等)
然后回到上面的问题:
如果题主的原意是用GROUP BY,按nane和number字段分组,那么其他字段你打算如何聚合,是用MAX取最大值、MIN取最小值、Count统计出现的次数、还是利用自定义函数(Mysql和ORACL有系统自带函数)来将其拼接文本
如果题主的原意是用ORDER BY,按nane和number字段排序
select * from tab ordey by name ASC,number ASC--ASC是正序排列,DESC是倒序排列,不填写的情况下默认ASC
取消
评论