2013-10-23 127 views
0

我有以下表相同的语句:JOIN没有WHERE子句

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; 

但我想有他们在相同的结果集。我将如何实现这一目标?

回答

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)); 
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) 
0

这也将工作:

SELECT MAX(id) AS old_max, 
    (
     SELECT MAX(id) 
     FROM posts 
     ) AS max 
FROM posts 
WHERE TIME < DATE_SUB(NOW(), INTERVAL 1 HOUR); 
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)