码迷,mamicode.com
首页 > 数据库 > 详细

mysql --> select * from Employee group by name这样的语法有什么意义?

时间:2018-03-14 12:45:42      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:不用   记录   返回   特性   个数   groupby   sel   parent   gpo   

神奇的mysql才会支持select * from Employee group by name 这种反逻辑的SQL(假定该表非仅name一个列)

mysql 的逻辑是:select 的返回字段,如果不在groupby中,也不是统计函数,那么字段的取值是从匹配的记录中随机取的;在做表关联统计的时候,可以简化 group by 后面的字段,只需要 group by parent.id 就可以了,而不用把 parent 的所有字段都列出来

 

在表关联统计的时候,mysql这种特性可以简化 group by 后面的字段,但跟排序没太大关系
例如,订单表inv和明细表item,如果想返回inv的所有字段和item的个数,可以这样写:
select inv.*, count(itme.id) item_count
from inv left join item on inv.id=item.inv_id
group by inv.id

mysql --> select * from Employee group by name这样的语法有什么意义?

标签:不用   记录   返回   特性   个数   groupby   sel   parent   gpo   

原文地址:https://www.cnblogs.com/weixupeng/p/8566172.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!