mysql group语句可以排序_MySQL中group_concat()函数的排序方法
示例一
group_concat()函数的参数是可以直接使用order by排序,下面通过例子来说明,首先看下面的t1表。
比如,我们要查看每个人的多个分数,将该人对应的多个分数显示在一起,分数要从高到底排序。可以这样写:SELECT username,GROUP_CONCAT(score ORDER BY score DESC) AS myScore FROM t1 GROUP BY username;
效果如下:
示例二SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for demo
-- ----------------------------
DROP TABLE IF EXISTS `demo`;
CREATE TABLE `demo` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`name` char(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`score` bigint(20) DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 45 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of demo
-- ----------------------------
INSERT INTO `demo` VALUES (1, '张三14', 60);
INSERT INTO `demo` VALUES (2, '张三14', 54);
INSERT INTO `demo` VALUES (15, '张三14', 61);
INSERT INTO `demo` VALUES (16, '张三15', 12);
INSERT INTO `demo` VALUES (17, '张三16', 54);
INSERT INTO `demo` VALUES (18, '张三17', 33);
INSERT INTO `demo` VALUES (41, '张三', 54);
INSERT INTO `demo` VALUES (42, '张三', 89);
INSERT INTO `demo` VALUES (43, '张三', 48);
INSERT INTO `demo` VALUES (44, '张三', 98);
SET FOREIGN_KEY_CHECKS = 1;
mysql 中 group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果。
我们想根据name分组,然后根据score倒序排序,下面展示两种写法;
sql一:错误排序语句:SELECT name,GROUP_CONCAT(score ORDER BY score DESC) AS myScore FROM demo GROUP BY name
这种是错误的下面的不是根据GROUP_CONCAT拼接的数据是不会排序的
sql二:正确排序语句:SELECT name,GROUP_CONCAT(score ORDER BY score DESC) AS myScore FROM demo GROUP BY name order by myScore desc;
必须根据排序后的字段二次排序,第一次只能是排序GROUP_CONCAT里边的如果没有分组的是无法排序的,只能分完组后再根据myScore排序
mysql group语句可以排序_MySQL中group_concat()函数的排序方法相关推荐
- mysql group by 字符串拼接_MySQL之GROUP_CONCAT()函数——将查询到的数据拼接成字符串...
语法: GROUP_CONCAT([DISTINCT] expr [,expr ...] [ORDER BY {unsigned_integer | col_name | expr} [ASC |DE ...
- mysql中group_concat函数_MySQL中group_concat函数
为什么我要学习该函数,我在做控制页面的权限的时候,没有使用Shiro框架[强烈推荐使用], 为了降低学习成本,暂时给学生过渡的想法,我需要控制到按钮级别的权限,我的想法是通过Jquery对我的页面中的 ...
- mysql中explain的使用,mysql使用方法_mysql中explain函数的使用方法
摘要 腾兴网为您分享:mysql中explain函数的使用方法,英语字典,小熊到家,腾讯新闻,刷机大师等软件知识,以及adobeflashplayerformac,灯光工厂,全民小视频,网盘解析,37 ...
- mysql分组语句的子句_MySQL 中的排序与分组 语句
MySQL ORDER BY 排序 我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据,如果我们需要对读取的数据进行排序,我们就可以使用 MySQL 的 ORDER BY 子句来设 ...
- mysql group函数_mysql中group_concat函数的使用
一.group_concat函数的功能 将group by产生的同一个分组中的值连接起来,返回一个字符串结果. group_concat函数首先根据group by指定的列进行分组,将同一组的列显示出 ...
- mysql中group concat_mysql中group_concat()函数的使用方法总结
本文实例讲述了mysql group_concat()函数用法.分享给大家供大家参考,具体如下: group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果.比 ...
- mysql中两次排序_MySQL中的两种排序方式: index和filesort
index :通过有序索引顺序扫描直接返回有序数据,不需要额外的排序,操作效率较高. filesort:通过对返回数据进行排序,filesort 并不代表通过磁盘文件排序,而是说明进行了一个排序操作, ...
- mysql union如何排序_Mysql中UNION用法与排序
最近也是在写项目中碰到的这个问题,需要将两个SELECT查询结果组合起来进行分组排序,想到了用union方法,用TP的union操作根本无法完成复杂的union操作,于是搜罗了一下,先说一下union ...
- 根据list中某个字段的值排序_MySql中常用函数
一.group_concat group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) group_conc ...
最新文章
- SQLALchemy之Python连接MySQL
- [C#]关于Access的“INSERT INTO 语句的语法错误”问题
- 计划任务管理 之 计划任务工具 cron 的配置和说明
- 网站维护:利用iptables和ipset屏蔽恶意IP的访问
- boost::mpi::wait_all相关用法的测试程序
- Debug ASP.NET Core 2.0源代码
- kotlin编译失败_聊两个 Kotlin 编译器的 bug
- 动态代理:jdk和cglib区别
- wordpress安装jquery插件失败_Contact Form 7插件_WordPress表单插件安装使用教程
- 鲁棒性的获得 —— 测试的架构
- Git/Github + TortoiseGit 使用教程
- 各式各样的计算机教学设计,7. 各式各样的椅子教案设计(一等奖)
- c语言变量 集体备课,(最新整理)数学集体备课活动记录2
- 北京住房公积金转杭州相关信息的整理,个人整理
- 小记Android Gradle插件 Iven 记于 20190522 药厂
- 【软件工程——UML基础教程】
- 解决oracle11卸载,Oracle11完全卸载方法
- PTA - 电话聊天狂人
- matplotlib基础绘图命令之pie
- 公司文件防泄漏应该怎样实施呢?
热门文章
- 磕磕绊绊的双非硕秋招之路小结
- Banach's Fixed Point Theorem(contraction mapping theorem,巴拿赫不动点定理)
- 【JavaScript】一个按钮实现setInterval开始与暂停
- 中国大学MOOC-陈越、何钦铭-数据结构-2018春(01-复杂度1 最大子列和问题(20 分))
- jstack命令测试
- matplotlib简单应用
- python和mysql数据类型对应,MySQL和Python交互的示例
- Python UI自动化测试
- [EOS源码分析]5.EOS编写HelloWorld智能合约及各种坑
- 调频:双频调制的推导