mysql中group by的时候字段不加聚合函数和distinct的情况
来源:互联网 发布:淘宝联盟刷引流人数 编辑:程序博客网 时间:2024/05/16 19:39
转:http://www.seomumu.com/mysql-php?start=56
对于group by在mysql中的使用和Oracle的差异性很大,准确的说不光和Oracle和别的数据库差异性一样,这些有点不太遵循标准SQL。我们知道常规的 sql,对于group by来说一定要结合聚合函数,而且选择的字段除了聚合函数外,还必须在group by中出现,否则报错,但是在mysql中扩展了这样的功能
首先对于不加聚合函数的sql来说,它的功能结合了limit来得出结果,仔细想想的时候有点Oracle分析函数的味道,limit的时候得到的并不是 最大最小的值,而是某一下group by结果集中第一行,也就是刚才说的相当与先group by, 然后在每个group by下面进行limit 1。
其次,刚才还说了常规的group by结合聚合函数的时候,选择的字段除了聚合函数外,必须在group by中存在,但是在mysql中不是这样了,它具有隐含字段的功能,例如:
(root:im-mysql:16:34:45)[test]> select a,b,c,count(*) from test1 group by a,b;
+------+------+------+----------+
| a
| b | c | count(*) |
+------+------+------+----------+
| 1 | 1 | 1 | 3 |
| 1 | 2 | 5 | 3 |
+------+------+------+----------+
对于没有选择的字段,上面是c,c的值还是和上面说到的一样,是根据得到的结果集然后根据每个group by 进行limit 1得到的结果。
- mysql中group by的时候字段不加聚合函数和distinct的情况
- mysql中group by子句和聚合函数MAX(),MIN(),SUM(),AVG()等的使用
- Mysql的distinct语句和group by,order by
- mysql的order by,group by和distinct优化
- mysql的order by,group by和distinct优化
- mysql的order by,group by和distinct优化
- mysql的order by,group by和distinct优化
- mysql的order by,group by和distinct优化
- mysql中distinct和group by比较
- mysql中distinct和group by比较
- mysql和sql2008兼容group by中带函数的情况 max
- MYSQL的group by和多字段的distinct
- mysql group by中没有的字段 select中有 的情况说明
- MySQL中distinct及group by的一些用法
- MySQL中distinct及group by的一些用法 分享
- MySQL中distinct及group by的一些用法 分享
- MySQL中distinct及group by的一些用法
- MySQL中distinct及group by的一些用法
- man bash 完全手册安装 / 查看函数原型
- myEclipse 总是默认打开一个工作空间
- Mysql互为主从,解决主键ID冲突的方案
- 数组转义处理
- linux nginx开机启动
- mysql中group by的时候字段不加聚合函数和distinct的情况
- _raw_readl() 与ioread32()有什么区别
- android SQLite使用SQLiteOpenHelper类对数据库进行操作
- 开源游戏 “Elvish Bird”
- mapreduce counter
- STL中各个容器的内存的释放
- 如何才能不纠结
- java中的向下转型和向上转型
- 给Win32 GUI程序增加控制台窗口的方法