[英]sorting in mysql if multiple rows matches
我有个疑问。 怎么样
ORDER BY time_stamp ASC
如果3个不同的行具有相同的time_stamp值,将起作用?
好吧,我将粘贴整个查询
SELECT mail FROM table2 INNER JOIN table1 ON table2.wid = table1.id WHERE table1.time_stamp >= DATE_SUB(NOW(),INTERVAL 10 MINUTE) AND table1.status<>200 GROUP BY table1.Id ORDER BY table1.time_stamp ASC LIMIT 2
请有人帮我一个答案..
如果三行具有相同的时间戳记值,那么它们将按order by
后显示为三行。 以任意顺序。 如果要进行稳定排序(即始终返回相同值的排序),则在order by
子句中包含一个id
。
您的group by
应确保您在查询的两行中获得不同的ID。
编辑:
如果您需要所有与1或2个时间戳匹配的记录,请执行以下操作:
select table1.email
from table1 join
(SELECT time_stamp
FROM table2 INNER JOIN
table1
ON table2.wid = table1.id
WHERE table1.time_stamp >= DATE_SUB(NOW(),INTERVAL 10 MINUTE) AND table1.status<>200
ORDER BY table1.time_stamp ASC
LIMIT 2
) limits
on table1.time_stamp = limits.time_stamp
GROUP BY table1.Id;
这将获取与时间戳匹配的所有table1
记录。 您可能必须重复某些where
条件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.