指尖上的记忆指尖上的记忆
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub

mysql之groupby再排序的问题:

mysql group by + order by 查询,获取money 最高的uid
  
//简单方法,但是不能准确获取当前那一行数据
SELECT id, uid,MAX(money) as cc, datatime FROM d_rewards GROUP BY uid ORDER BY cc DESC;
  
//下面这个子查询的结果有了,但是 对于 group by 却没有生效
SELECT
	r.id,
	r.uid,
	r.money,
	r.datatime 
FROM
	( SELECT id, uid, money, datatime FROM d_rewards ORDER BY money DESC) r 
GROUP BY
	r.uid 
ORDER BY
	r.money DESC;

  
//加上 limit 就可以了,原因待定...,但是 limit 的值是一个问题
SELECT
	r.id,
	r.uid,
	r.money,
	r.datatime 
FROM
	( SELECT id, uid, money, datatime FROM d_rewards ORDER BY money DESC limit 8) r 
GROUP BY
	r.uid 
ORDER BY
	r.money DESC;