同时使用GROUP_CONCAT函数将每一个学生选的课程名称拼接成一个字符串作为一个外层排序的字段,并进行升序或降序排列。 最后的结果如下: 代码语言:javascript 复制 SELECTs.*,GROUP_CONCAT(c.nameORDERBYc.name)AScoursesFROMstudent sLEFTJOINstudent_course_rel rONs.id=r.student_idLEFTJOINcourse cONc.id=r.cours...
2、group_concat()函数的排序方法 SELECT username,GROUP_CONCAT(score ORDER BY score DESC) AS myScore FROM tt GROUP BY username;
substring_index(group_concat(distinct num order by num desc),',',3)
通过GROUP_CONCAT字句,成功实现了组内排序,下面需要解决的问题就是TOP 1,即取组内排序后结果集的第一个元素。通过官方文档,可以知道GROUP_CONCAT返回的结果集为一个","(可以通过GROUP_CONCAT的参数指定)拼接的字符串,即'r[0],r[1],r[2]...',接下来,我们只需要对这个字符串按照','进行分割,然后取第一个...
groupconcat怎么排序 简介 groupconcat是mysql里的一个函数,对于需要获取子集数据时,会很方便的。但怎么对子集的数据进入排序?我们来看看。方法/步骤 1 先看一下我们的数据,有一个班级表,表里有几条数据。2 另外有一个学生表,有学生id,名字,和所属的班级。3 要查找各个班级有哪些学生,我们就需要使用到...
先看看group_concat语法: group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator ‘分隔符’]) 以stuName分组,把score字段的值打印在一行,逗号分隔(默认) select GROUP_CONCAT(score),stuName from grade1 GROUP BY stuName; ...
group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) 1. 例子: 表一数据为: 表二数据为: 表三数据为: 表三存在的意义就是将第一张表和第二张表链接起来。 第一次写查询: 将不同类型的素材区分开,然后将相同类型的拼在一起 ...
MySQL中group_concat()函数的排序方法 行转列: GROUP_CONCAT(spec_id ORDER BY spec_id SEPARATOR ',') ORDER BY :排序 SEPARATOR : 分隔关键字 CONCAT():字段拼接字符 SELECTtype_id,CONCAT('[',GROUP_CONCAT(spec_idORDERBYspec_id SEPARATOR','),']')ASspec_idsFROM(SELECTspec_id, type_idFROMgoods...
group_concat()函数的参数是可以直接使用order by排序的。下面通过例子来说明,首先看下面的t1表。 比如,我们要查看每个人的多个分数,将该人对应的多个分数显示在一起,分数要从高到底排序。可以这样写: SELECT username,GROUP_CONCAT(score ORDER BY score DESC) AS myScore FROM t1 GROUP BY username; 效果如下...
GROUP_CONCAT函数的用法有时候可以比较复杂,以下是一些复杂用法的示例: 1.使用DISTINCT关键字去重: ``` SELECT GROUP_CONCAT(DISTINCT column_name SEPARATOR ',') FROM table_name; ``` 这个示例中,GROUP_CONCAT函数将指定列中的所有唯一值合并成一个字符串,并使用逗号作为分隔符。 2.指定排序方式: ``` SELECT...