0

我有个疑问。如何

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

请任何人帮我回答..

4

1 回答 1

0

如果三行具有相同的时间戳值,则它们将在order by. 以任意顺序。如果您想要一个稳定的排序(即始终返回相同值的排序),则idorder by子句中包含一个。

group by应该确保在来自查询的两行中获得不同的 id。

编辑:

如果您需要匹配 1 个或两个时间戳的所有记录,请执行以下操作:

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条件。

于 2013-09-10T11:45:00.400 回答