≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 数据库 > MySQL

关于MySQL中每个用户取1条记录的三种写法(group by xxx)

人气:414 时间:2020-07-09

这篇文章主要为大家详细介绍了关于MySQL中每个用户取1条记录的三种写法(group by xxx),具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随四海网的小编小韵来看看吧!

今天以前的同学问我关于这方面的SQL语句,我特意记忆一下,毕竟这个也比较常见了

代码如下:


select * from (select * from member_payment 
                order by id desc) t group by member_id limit 10

第一种是先排序,然后group,这样的话自然可以取到最适合的一条数据。
缺点很明显:Using temporary; Using filesort

代码如下:


select s.* 
from (SELECT max(id) as id FROM `member_payment` group by `member_id` limit 10) t 
left join `member_payment` as s on t.id=s.id 

第二种是联合查询

代码如下:


select * from `member_payment` where EXISTS (
 select `id` from (
  SELECT max(`id`) as id FROM `member_payment` group by `member_id` limit 10) t 
 where t.`id`=`member_payment`.`id`
)

第三种是子查询
窃以为第二种效率最高

本文来自:http://www.q1010.com/177/9794-0.html

注:关于关于MySQL中每个用户取1条记录的三种写法(group by xxx)的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:MYSQL

您可能感兴趣的文章

  • 解析MySQL多表查询的实现
  • Windows版MySQL5.6.11的安装与配置教程
  • MySQL Order by 语句用法与优化分析
  • 解析MySQL中如何获得数据库的大小
  • MySQL数据库优化总结(心得)
  • Ubuntu下取消MySQL数据库本机绑定限制方法
  • 解析MySQL 数据库导入SQL 文件出现乱码的问题
  • 正确理解MySQL中的列索引和多列索引
  • 5个常用的MySQL数据库管理工具详细介绍
  • 利用Shell脚本实现远程MySQL自动查询
上一篇:解析数据库分页的两种方法对比(row_number()over()和top的对比)
下一篇:总结MySQL建表、查询优化的一些实用小技巧
热门文章
  • mysql 修改character_set_server为utf-8的简单示例
  • 解决MySQL丢失文件localhost.localdomain.pid、mysql.sock的示例
  • MySQL 数据类型binary和varbinary的简单示例
  • MySQL:reading initial communication packet问题解决方法
  • MySql 表类型MYISAM、InnoDB区别
  • bash: mysql: command not found 的解决方法
  • MYSQL默认用户名ROOT修改方法
  • MySQL 常用命令菜鸟教程
  • MySQL 使用命令行新建用户并授予权限
  • MySql 数据库物理文件存放位置查看示例
  • 最新文章
    • MySQL查看死锁与解除死锁的简单示例
    • MySQL 慢查询的功能实例
    • MySQL查看死锁与去除死锁的简单示例
    • MySQL找出未提交事务的SQL的简单示例
    • MySQL锁阻塞的的简单示例
    • MySQL中的binary类型使用操作的示例
    • SQL优化教程之in与range查询的简单示例
    • MySQL 的 21 个规范、优化最佳实践!
    • MySQL 字符类型大小写敏感的简单示例
    • 解决mybatis-plus分页传入参数后sql where条件没有limit分页信息的问题

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。