mysql - 获取与 mysql 表不同的数据会得到错误的结果

标签 mysql

我正在尝试按访问时间顺序从 mysql 表中获取不同的记录,该记录应该是使用以下查询的最新访问:

SELECT COUNT(*) as cookie_id, id, lead_id
FROM analytics where lead_id != 0 and user_id = 1
GROUP BY lead_id 
HAVING cookie_id > 1 order by visit_time desc

但是通过上面的查询我得到了错误的结果。

** 我所需的结果初始:**

2054, 2016-02-02 14:19:40
2051, 2016-02-02 13:54:17
2055, 2016-02-02 12:22:16
2039, 2016-02-02 11:46:49

附加了我的原始数据表屏幕。从下表中我正在尝试获取过滤结果..

enter image description here

最佳答案

这正是您正在寻找的

select lead_id, cookie_id, max(visit_time) as visit_time
from analytics
where lead_id != 0
and user_id = 1
group by lead_id, cookie_id
order by visit_time desc

确保您有lead_id、user_id 和visit_time 的索引

关于mysql - 获取与 mysql 表不同的数据会得到错误的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35156456/

相关文章:

mysql - 为什么这个 SELECT 语句的速度在特定的 LIMIT 量下会急剧变化?

php - Yii2 加入 4 个表的关系

mysql - 如何使用最大值进行分组

PHP - 无法访问已选中的复选框值

MySQL 案例陈述

mysql - 创建临时表时出错

php mysql 更新一行并发送包含更新信息的电子邮件

mysql - 理解这个 MySQL 查询

php - MySQL 中 string 作为 varchar 类型

php - 如何在mysql中显示两个日期之间的小时数