【发布时间】:2021-04-26 08:32:48
【问题描述】:
如何在 MySQL 5.7 中组合我的两个查询:
(windows功能不工作)
1:此查询查找所有消息超过 10 条且间隔至少一小时的对话。
SELECT `dialog_id`
FROM `messages`
GROUP BY `dialog_id`
HAVING COUNT(*) >= 10
AND MIN(`timestamp`) + INTERVAL 1 HOUR < MAX(`timestamp`)
2:第二个查询为每个对话选择最后两行。
SELECT * FROM messages tbl WHERE
(SELECT COUNT(*) FROM messages tbl1 WHERE tbl1.dialog_id = tbl.dialog_id AND tbl1.id >= tbl.id AND
(user_from = :user_from OR user_to = :user_to)) <= 2 ORDER BY dialog_id DESC
所以,我想要的是为每个持续了一个多小时的对话选择最后两行和,其中发送了超过 10 条消息。
【问题讨论】: