0

我有下表:

CREATE TABLE posts...
id INT(11),
time DATETIME,
...

而且我想知道一般的最高ID,我还想知道最新的帖子,不考虑最后一小时的帖子,这样我就可以减去它们以获得过去一小时的帖子数。

我可以做两个查询:

SELECT MAX(id) AS old_max FROM posts WHERE time < 
    DATE_SUB(NOW(), INTERVAL 1 HOUR);

SELECT MAX(id) AS max FROM posts;

但我想让它们在同一个结果集中。我将如何实现这一目标?

4

4 回答 4

0

这个怎么样;

SELECT (
SELECT MAX(id) AS old_max FROM posts WHERE time < 
DATE_SUB(NOW(), INTERVAL 1 HOUR)),
(SELECT MAX(id) AS max FROM posts)
于 2013-10-23T08:47:08.440 回答
0

试试这个::

Select 

(SELECT MAX(id) AS max from posts),

(SELECT 
MAX(id) AS old_max 

FROM posts WHERE time < 
    DATE_SUB(NOW(), INTERVAL 1 HOUR));
于 2013-10-23T08:47:59.137 回答
0

这也将起作用:

SELECT MAX(id) AS old_max,
    (
        SELECT MAX(id) 
        FROM posts
        ) AS max
FROM posts
WHERE TIME < DATE_SUB(NOW(), INTERVAL 1 HOUR);
于 2013-10-23T08:48:57.067 回答
0

这应该工作:

SELECT (
SELECT MAX(id) AS old_max FROM posts WHERE time < DATE_SUB(NOW(), INTERVAL 1 HOUR)),
(SELECT MAX(id) AS max FROM posts)
于 2013-10-23T08:53:15.060 回答