最近需要查询每组时间最新的记录
表如下:
目标结果是:
 
 
一开始的想法:
select * from
 
(select * from log where account_id = 45 order by shop_id,create_time desc)  w
 
group by w.shop_id
 
这种写法看着没毛病,但是查询出来不是每组最新的一条
 
 
正确的写法很多这里说个认为比较简单的
select * from log where id in
 
(select SUBSTRING_INDEX(GROUP_CONCAT(id order by create_time desc), ',', 1)   from log where account_id = 45 group by shop_id)
 
分部解读:
根据条件查询出分组的所有按时间降序的记录id并拼接
1.select GROUP_CONCAT(id order by create_time desc) from log where account_id = 45 group by shop_id
 
 
  1. 查询每个分组中时间最新的那条记录的id
select SUBSTRING_INDEX(GROUP_CONCAT(id order by create_time desc), ',', 1)   from log where account_id = 45 group by shop_id
 
3.
select * from log where id in
 
(select SUBSTRING_INDEX(GROUP_CONCAT(id order by create_time desc), ',', 1)   from log where account_id = 45 group by shop_id)
 
 
 

group by查询每组时间最新的一条记录的更多相关文章

  1. sqlserver查询数据表中每个类别最新的一条记录

    表tariff_info, 原始数据: 想要的结果:以start_time时间倒序排序, 以code分类, 查询每一类最新的一条记录 sql: SELECT a.* FROM TARIFF_INFO ...

  2. Oracle:查询各组最新的一条记录

    oracle中怎么查询各组中最新的一条记录呢?比如说现在有一个表中几条数据如下: 有两种写法:写法一:over partition by 分析函数 SELECT * FROM (select ID_, ...

  3. mysql 分组取最新的一条记录(整条记录)

    方法:mysql取分组后最新的一条记录,下面两种方法.一种是先筛选 出最大和最新的时间,在连表查询.一种是先排序,然后在次分组查询(默认第一条),就是最新的一条数据了  #select * from ...

  4. mysql-利润set变量模拟分组查询每组中的第N条数据

    查询思路: 很多时候想在使用group by时想查询group by的每一组中的第N条数据,而取这些数据时往往按如下方式去执行则很慢 ; 按如上方式,对于数据10000左右的表就已经很吃不消. 或已拼 ...

  5. mysql 分组后取每个组内最新的一条数据

    首先,将按条件查询并排序的结果查询出来. mysql order by accepttime desc; +---------------------+------+-----+ | acceptti ...

  6. MySQL中查询时间最大的一条记录

    在项目中要查询用户最近登录的一条记录的 ip 直接写如下 SQL: SELECT ip,MAX(act_time) FROM users_login GROUP BY login_id; 但是这样是取 ...

  7. SQL分组取每组前一(或几)条记录(排名)

    mysql分组取每组前几条记录(排名) 附group by与order by的研究 http://www.jb51.net/article/31590.htm --按某一字段分组取最大(小)值所在行的 ...

  8. [MySQL]MySQL数据库中如何查询分组后每组中的最后一条记录?

    原文地址:https://codedefault.com/s/how-can-i-retrieve-the-last-record-in-each-group-mysql 问题描述 比如,在MySQL ...

  9. 工作 巧遇 sql 查询 一组数据中 最新的一条

    SELECT * FROM rsl a, (SELECT CODE, max(time_key) time_key FROM rsl GROUP BY CODE ) b WHERE a. CODE = ...

随机推荐

  1. ubuntu安装mysql-connector-python

    在安装MySQL-python时遇到报错: sudo pip install MySQL-python Traceback (most recent call last): File "&l ...

  2. ubuntu下安装thrift

    configure: error: "Error: libcrypto required."

  3. 数据格式XML、JSON详解

    一. XML数据格式 1.1 XML的定义  扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类 ...

  4. 洛谷P3516 PRZ-Shift [POI2011] 构造

    正解:构造 解题报告: 传送门! umm这题就是很思维的?就是想到了就A了想不到就做不出来,然而我也只能是做到理解不知道怎么想出来,,,感觉构造题什么的就很真诚,一点套路也没有,所以像我这种没有脑子只 ...

  5. Linux下Solr单机版、集群版安装与配置

    一.安装 1.需要的安装包有apache-tomcat-7.0.47.tar.gz.solr-4.10.3.tgz.tgz(jdk自行安装) 这里默认大家已经安装好jdk与tomcat,所以在这里不做 ...

  6. spring拦截器-过滤器的区别

    1.  理解 拦截器 :是在面向切面编程的时候,在你的 service 或者一个方法前调用一个方法,或者在方法后调用一个方法:比如动态代理就是拦截器的简单实现,在你调用方法前打印出字符串(或者做其它业 ...

  7. 【论文阅读】Deep Adversarial Subspace Clustering

    导读: 本文为CVPR2018论文<Deep Adversarial Subspace Clustering>的阅读总结.目的是做聚类,方法是DASC=DSC(Deep Subspace ...

  8. PSPnet模型结构的实现代码

    1 import torch import torch.nn.functional as F from torch import nn from torchvision import models f ...

  9. uva12545

    #include<iostream> using namespace std; +; char s[maxn],t[maxn]; int main(){ //freopen("1 ...

  10. Django之CBV源码解析

    l链接跳转:https://www.cnblogs.com/hnlmy/p/9662798.html 以及https://www.cnblogs.com/hnlmy/p/10603999.html