首先,这是不可能实现的

mysql的查询的顺序

select -> from-> where->group by->having->order by.

但mysql的解析器执行顺序:

from-> where->group by->having->select->order by.

所以,从执行的流程来看,是先group by 然后在 order by.
order by拿到的结果里已经是group by以后的结果.

因此,order by的字段必须是group by 里面已经存在的字段.

如果有人问到,想group by同时,进行排序

注意,查询 按照索引进行排序

用 group_concat进行排序

SELECT
pq.id,SUBSTRING_INDEX( group_concat( pq.paperId ORDER BY pq.id),',',1
) AS paperId,SUBSTRING_INDEX(group_concat( pq.questionType ORDER BY pq.id),',',
1
) AS questionType,pq.questionId,p.id as pId,p.type,
SUBSTRING_INDEX( group_concat( p.type ORDER BY pq.id),',',1
) AS pType
FROM
paper_question as `pq` left join `question` as `p` on `pq`.`questionId` = `p`.`id`
WHERE
pq.paperId = 470 GROUP BY pq.paperId;

mysql 用 group by 和 order by同时使用的更多相关文章

  1. mysql中group by和order by同时使用无效的替代方案

    前言 最近一年由于工作需要大部分使用的都是NoSql数据库,对关系型数据库感觉越来越陌生,一个由group by和order by 引发的血案由此而生.在此做个记录,以备不时之需. 需求 首先,看一下 ...

  2. 转:深入研究mysql中group by与order by取分类最新时间内容

    鉴于项目的需要,就从网上找到该文章,文章分析得很详细也很易懂,在android里, (不知道是不是现在水平的限制,总之我还没找到在用ContentProvider时可以使用子查询),主要方法是用SQL ...

  3. hive的strict模式;where,group by,having,order by同时使用的执行顺序

    主要限制三种情况 (1) 有partition的表查询需要加上where子句,筛选部分数据实现分区裁剪,即不允许全表全分区扫描,防止数据过大 (2) order by 执行时只产生一个reduce,必 ...

  4. 深入研究mysql中group by与order by取分类最新时间内容

    鉴于项目的需要,就从网上找到该文章,文章分析得很详细也很易懂,在android里,(不知道是不是现在水平的限制,总之我还没找到在用 ContentProvider时可以使用子查询),主要方法是用SQL ...

  5. mysql中group by和order by混用 结果不是理想结果(转)

    文章转自 https://www.cnblogs.com/myphper/p/3767572.html 在使用mysql排序的时候会想到按照降序分组来获得一组数据,而使用order by往往得到的不是 ...

  6. mysql之group by,order by

    写在前面 上篇文章介绍mysql的增删改查操作,这篇将介绍group和order by操作. 系列文章 mysql之创建数据库,创建数据表 mysql之select,insert,delete,upd ...

  7. mysql中group by和order by混用 结果不是理想结果

    在使用mysql排序的时候会想到按照降序分组来获得一组数据,而使用order by往往得到的不是理想中的结果,那么怎么才能使用group by 和order by得到理想中的数据结果呢? 例如 有一个 ...

  8. GROUP BY 和 ORDER BY 同时使用问题

    GROUP BY 和 ORDER BY一起使用时,ORDER BY要在GROUP BY的后面.

  9. MySQL中group by 与 order by 一起使用排序问题

    假设有一个表:reward(奖励表),表结构如下: CREATE TABLE test.reward ( id ) NOT NULL AUTO_INCREMENT, uid ) NOT NULL CO ...

随机推荐

  1. SQL server 数据库测试题

  2. plsql 无需配置客户端连接.

    plsql 无需配置客户端连接. (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.5)(PORT=1521)))(C ...

  3. Allegro改动shape网络节点

    使用Allegro时改动shape的网络节点方法: ①选择shape->Select Shape or Void/Cavity ②选择要改动的shape ③点击(...)改动网络节点的名字 ④改 ...

  4. ActiveMQ(二) 转

    package pfs.y2017.m11.mq.activemq.demo02; import java.util.concurrent.atomic.AtomicInteger; import j ...

  5. 用python编写的定向arp欺骗工具

    刚学习了scapy模块的一些用法,非常强大,为了练手,利用此模块编写了一个arp欺骗工具,其核心是构造arp欺骗包.加了一个-a参数用于进行全网欺骗,先暂不实现.代码如下: #--*--coding= ...

  6. Mysql中show processlist结果中的status状态总结

    一 般情况下,DBA能从监控mysql的状态列表中查看出数据库的运行端倪,需要注意的是STATUS所表示的不同内容.且需要注意的是TIME字段表示的 意思.它表示的只是最后那个STAT状态持续的时间. ...

  7. Vue.js 使用 Swiper.js 在 iOS 11 时出现错误

    前言 在H5项目中,需要用到翻页效果,通过 Swiper 来实现,安装 Swiper npm i swiper -S 但是实际使用中,发现低版本 iOS < 11 会出现下面这个错误: Synt ...

  8. Go——godoc命令简介

    前言 godoc的一些简记 命令 godoc的列表 | godoc的chm下载 查看godoc的所有命令 `$ godoc -h` usage: godoc -http=localhost:6060 ...

  9. java内存管理--栈、堆和常量池

    今天有朋友问java中String[] str = s.split(",")的内存分析,于是开始查资料并测试.首先,发现在java的内存管理中"常量池"是个很奇 ...

  10. can't set android permissions - built without android support

    /**************************************************************************** * can't set android pe ...