【发布时间】:2021-01-08 15:14:33
【问题描述】:
如何组合我的两个查询?
1:
SELECT `dialog_id`
FROM `messages`
GROUP BY `dialog_id`
HAVING COUNT(*) >= 10
AND MIN(`timestamp`) + INTERVAL 1 HOUR < MAX(`timestamp`)
此查询正在查找超过 10 条消息且持续时间超过一个小时的对话框。
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 条消息的对话框选择最后两行。 我想在对话框预览页面上显示它们。
对不起,我的英语不是我的母语。
【问题讨论】: