神奇的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这样的语法有什么意义?的更多相关文章

  1. mysql单列去重复group by分组取每组前几条记录加order by排序

    mysql分组取每组前几条记录(排名) 附group by与order by的研究,需要的朋友可以参考下 --按某一字段分组取最大(小)值所在行的数据 复制代码代码如下: /* 数据如下: name ...

  2. mysql select

    select 查询: 赋值:赋值不能应用在where中,因为where操作的是磁盘上的文件,可以应用在having筛选中. 例:select (market_price-shop_price) as ...

  3. MySQL中distinct和group by性能比较[转]

    MySQL中distinct和group by性能比较[转] 之前看了网上的一些测试,感觉不是很准确,今天亲自测试了一番.得出了结论(仅在个人计算机上测试,可能不全面,仅供参考) 测试过程: 准备一张 ...

  4. mysql数据库分组(GROUP BY)查询实例

    1.使用松散(Loose)索引扫描实现 GROUP BY 何谓松散索引扫描实现 GROUP BY 呢?实际上就是当 MySQL 完全利用索引扫描来实现 GROUP BY 的时候,并不需要扫描所有满足条 ...

  5. [MySQL Reference Manual]17 Group Replication

    17 Group Replication 17 Group Replication 17.1 Group Replication后台 17.1.1 Replication技术 17.1.1.1 主从复 ...

  6. mysql "order by" "distinct" "group by" "having"

    本文用到的表结构 create table stu( stu_id int auto_increment primary key, name ) not null, age smallint, cls ...

  7. MySQL 5.7.17 Group Relication(组复制)搭建手册【转】

    本博文介绍了Group Replication的两种工作模式的架构.并详细介绍了Single-Master Mode的部署过程,以及如何切换到Multi-Master Mode.当然,文末给出了Gro ...

  8. 导入MySQL测试数据库employee报错

    导入MySQL测试数据库employee 报错 下载地址:https://launchpad.net/test-db/ 上传解压: [root@001 ~]# tar xf employees_db- ...

  9. mysql下distinct和group by区别对比

    在数据表中记录了用户验证时使用的书目,现在想取出所有书目,用DISTINCT和group by都取到了我想要的结果,但我发现返回结果排列不同,distinct会按数据存放顺序一条条显示,而group ...

随机推荐

  1. AIX中crontab和at 定时任务

    1.crontab crontab文件用于在指定日期和时间周期性地执行作业 crontab 作业存放在/var/spool/cron/crontabs/$USER cron根据crontab文件项运行 ...

  2. 给oracle命令的参数赋值

    ''' <summary>    '''   给oracle命令的参数赋值    ''' </summary>    ''' <param name="cmd& ...

  3. feign请求写法

    @FeignClient(value = "test", url = "${proxy.srvs.test:}") public interface ISubS ...

  4. 批处理实现自动Git push

    用Git用的多,每次修改文件后都需要敲几条命令: git add git commit git push ······ 太麻烦了 于是想到使用批处理(.bat)来自动化这个过程(注意:Windows环 ...

  5. 【洛谷P4677】山区建小学

    题目大意:给定一个长度为 N 的序列,现选出 M 个点组成一个集合,求这 N 个点到这个集合的最近距离的和是多少. 题解: 状态设计为 dp[i][j] 表示前 i 个点中选出 j 个点的最近距离和是 ...

  6. 动态添加+动态绑定(vue数据驱动思路)

    先上案例 首先来分析一下,勾选科目的时候,下面同时增加科目的满分值设置. 以前写jquery的思路:当勾选的时候创建dom节点,然后把dom节点append到父节点上,项目采用前后分离的方式进行交互, ...

  7. Python----webserver项目2

    # 编码问题 - 为什么需要编码问题 - 本质上计算机只能识别01代码 - 如何用一长串01代码表示复杂的信息 - encode:编码  decode:解码 - 编码简史 - 二进制 - bit: 一 ...

  8. tf.stack( )和tf.unstack( )

    相同点:他们都增加了矩阵的维度,而split()不改变维度! tf.stack()这是一个矩阵拼接的函数,tf.unstack()则是一个矩阵分解的函数 c是拼接,而d和e则是不同维度的分解

  9. 阿里云服务器 CentOS 7.5 64位 docker安装redis集群

    网上有很多教程可以参考,但是遇到坑了...... 最后参考这个教程成功了.https://www.cnblogs.com/hbbbs/articles/10028771.html 安装docker 参 ...

  10. Python基础(四)

    一.迭代器       让不同数据类型具有相同的遍历方式:list.dict.str.tuple.set 1.特点: ①省内存 ②只能向前,不能反复 ③惰性机制 2.可迭代对象 ###dir() 查看 ...