大家都知道GROUP BY,但是大家知道GROUP BY后面可以带哪些函数吗?今天给大家介绍下GROUP BY后面可以带的函数。

1GROUP_CONCAT

在MySQL中,你可以获取表达式组合的连接值。你可以使用DISTINCT删去重复值。假若你希望多结果值进行排序,则应该使用ORDERBY子句。若要按相反顺序排列,将DESC(递减)关键词添加到你要用ORDERBY子句进行排序的列名称中。默认顺序为升序;可使用ASC将其明确指定。SEPARATOR后面跟随应该被插入结果的值中间的字符串值。默认为逗号(‘,’)。通过指定SEPARATOR'',你可以删除所有分隔符。

PS:就是可以在一个语句中得到GROUPBY被聚合的项的每个子值的一个组合的字符串

2WITH  ROLLUP

GROUPBY子句允许一个将额外行添加到简略输出端WITHROLLUP修饰符。这些行代表高层(或高聚集)简略操作。ROLLUP因而允许你在多层分析的角度回答有关问询的问题

或者你可以使用ROLLUP,它能用一个问询提供双层分析。将一个WITHROLLUP修饰符添加到GROUPBY语句,使询问产生另一行结果,该行显示了所有年份的总价值:

总计高聚集行被年份列中的NULL值标出。

当有多重GROUPBY列时,ROLLUP产生的效果更加复杂。这时,每次在除了最后一个分类列之外的任何列出现一个“break”(值的改变),则问讯会产生一个高聚集累计行。

例如,在没有ROLLUP的情况下,一个以年、国家和产品为基础的关于sales表的一览表可能如下所示:

表示总值的输出结果仅位于年/国家/产品的分析级别。当添加了ROLLUP后,问询会产生一些额外的行:

当你使用ROLLUP时,你不能同时使用ORDERBY子句进行结果排序。换言之,ROLLUP和ORDERBY是互相排斥的。然而,你仍可以对排序进行一些控制。在MySQL中,GROUPBY可以对结果进行排序,而且你可以在GROUPBY列表指定的列中使用明确的ASC和DESC关键词,从而对个别列进行排序。(不论如何排序被ROLLUP添加的较高级别的总计行仍出现在它们被计算出的行后面)。

LIMIT可用来限制返回客户端的行数。LIMIT用在ROLLUP后面,因此这个限制会取消被ROLLUP添加的行。

学习了GROUPBY后面可以带的函数的知识,大家以后在工作中就要多加小心,避免乱用造成损失。

mysql数据库查询要注意事项_三种mysql高级查询技巧_数据库_mysql函数_课课家相关推荐

  1. mysql double 转 字符串_没想到!在MySQL数据库中的数据有这三种类型!

    MySQL数据库是一个或多个数据列构成二维表,它的每一种数据列都有特定类型,而类型决定MySQL是怎么看待该列数据,如果把整型数值存放到字符类型的列中,MySQL则会把它当成字符串来处理. MySQL ...

  2. 三种SQLServer分页查询语句笔记

    作为程序员来说,与数据库打交道是十分频繁的分页查询是一个开发者必须掌握的基本知识点,目前整理了下面三种SQLServer分页查询语句的写法,仅供参考. 一.Top Not IN 方式(查询靠前的数据较 ...

  3. mysql group by 报错 ,only_full_group_by 三种解决方案

    mysql group by 报错 ,only_full_group_by 三种解决方案 参考文章: (1)mysql group by 报错 ,only_full_group_by 三种解决方案 ( ...

  4. SQL:使用备份向导、SQL命令、导出数据三种方式对已建立的数据库进行备份

    SQL:使用备份向导.SQL命令.导出数据三种方式对已建立的数据库进行备份 目录 题目要求 解题步骤 题目要求 使用备份向导备份数据库 "DEMO_4_2_2_1"到考生文件夹&q ...

  5. 10038 mysql,关于MySql 10038错误的完美解决方法(三种)

    第一种方法: 第一步: 先看报错窗口 2003 can't connect to MySQL server on '127.0.0.1'(10038). 第二步: 原因是:远程3306端口未对外开放操 ...

  6. 数据库恢复技术(事物、三种更新策略以及恢复策略)

    数据库恢复技术(事物.三种更新策略以及恢复策略) 数据库恢复所要达到的目标 数据库为了达到目标的恢复策略 事务和日志的基本内容 事务的基本内容 日志的基本内容 更新数据库规则和三种更新策略 数据库更新 ...

  7. mysql10038_关于MySql 10038错误的完美解决方法(三种)

    本文给大家带来三种有关mysql报10038错误的解决方法,每种方法都非常不错,需要的朋友参考下 第一种方法: 第一步: 先看报错窗口 2003 can't connect to MySQL serv ...

  8. Hibernate通常是三种:hql查询,QBC查询和QBE查询:

    一:Hibernate QBC与HQL优缺点 QBC 全称:Query By Criteria HQL 全称:hibernate Query Language HQL优点:与sql相近,可读性好,功能 ...

  9. 弘辽科技:适合淘宝新手的三种基础引流技巧

    原标题<弘辽科技:适合淘宝新手的三种基础引流技巧> 要想网店生意好,那流量是必不可缺少的因素,因为流量是一家网店运营的基础,没有流量的店铺基本上无法维持正常运营的.作为一家网店的运营者,大 ...

最新文章

  1. int能表示的数据范围(在VS2017下,int和long都是32位)
  2. re搜索字符串与find字符串不一样的结果
  3. 日常生活小技巧 -- U盘拷贝时提示文件过大问题
  4. matlab中随机函数的具体使用方法
  5. Android自定义进度条
  6. EBS ORACLE使用API批量取消销售订单
  7. ruby三元操作符_在Ruby中使用操作符将元素添加到数组实例中
  8. 怎么讲d 盘里的软件弄到桌面_GNOME 2 粉丝喜欢 Mate Linux 桌面的什么?
  9. 国王游戏(贪心 + 高精度乘法 + 高精度除法 + 高精度比较大小)
  10. 我的世界java232位_我的世界32位红石电脑RSC-3230(无命令方块)(2)
  11. 常用的Linux的命令
  12. 《模拟电子技术基础》-(童诗白)笔记
  13. 中华人民共和国行政区划(五级):省级、地级、县级、乡级和村级。
  14. Mediawiki页面权限设置 禁止游客编辑 禁止注册
  15. JavaScript数组方法 改变原数组和不改变原数组的方法整理
  16. mariadb-libs 被 mysql-community-libs-compat-8.0.26-1.el7.x86_64 取代
  17. 2022 社招 | 趋势科技 Linux开发 面经
  18. java import imageio_是否可以使用Java ImageIO从InputStream读取多个...
  19. Qt练习:多线程串口通信
  20. 阿里云企业网站备案授权书详细情况汇总 帮助企业快速通过网站备案 满满干货

热门文章

  1. 电脑上查看端口是否被占用
  2. PJ可能会用到的动态规划选讲-学习笔记
  3. spring security oauth2.0 实现
  4. 通过putty进行端口映射并且启动jupyter notebook
  5. pdf怎么转换成word文字版
  6. 如何从低端面畜到高端面霸
  7. JavaScript HTML DOM 1
  8. 关于数据库查询时报“query block has incorrect number of result columns”
  9. dubbo之rmi协议使用
  10. 聊天IM的时间戳显示规则