下面显示的是我的mysql查询
SELECT mail FROM table2 WHERE wid IN
(SELECT DISTINCT Id FROM table1
WHERE time_stamp>=DATE_SUB(NOW(),INTERVAL 10 MINUTE) AND status<>200
ORDER BY time_stamp ASC)
LIMIT 2");
这提取2个条目总是工作正常 . 但它没有按升序排序 . 查询总是从第一行开始选择行而不按顺序执行(我知道限制将仅从第一行开始) . 在按升序排序time_stamp之后,我需要从表1中获取 ID
.
问题:-i需要相对于table1中的time_stamp列按升序对表1进行排序 . 然后从中选择前两个条目 . 并从table2中找到其电子邮件ID
1 回答
您正在为子查询添加
ORDER BY time_stamp ASC
.要获得有序记录,您需要在
IN
子句之外添加ORDER BY wid ASC
.OR
使用
LEFT OUTER JOIN
或INNER JOIN
获取根据timestamp
排序的记录 .EDIT