首页 > 数据库技术 > 详细

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

时间:2018-03-14 11:51:29      阅读:194      评论:0      收藏:0      [点我收藏+]

神奇的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这样的语法有什么意义?

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!