如何按 MAX(日期)选择?
这是表结构:
CREATE TABLE `reports` (
`report_id` int(11) NOT NULL auto_increment,
`computer_id` int(11) NOT NULL default '0',
`date_entered` datetime NOT NULL default '1970-01-01 00:00:00',
`total_seconds` int(11) NOT NULL default '0',
`iphone_id` int(11) default '0',
PRIMARY KEY (`report_id`),
KEY `computer_id` (`computer_id`),
KEY `iphone_id` (`iphone_id`)
) ENGINE=MyISAM AUTO_INCREMENT=120990 DEFAULT CHARSET=latin1
我需要一个 SELECT
语句,从最新输入的 date_entered
中列出每个 computer_id
的 report_id
,并且我不知道该怎么做.
I need a SELECT
statement that will list the report_id
per computer_id
from latest entered date_entered
, and I have no clue how to do that.
推荐答案
应该这样做:
SELECT report_id, computer_id, date_entered
FROM reports AS a
WHERE date_entered = (
SELECT MAX(date_entered)
FROM reports AS b
WHERE a.report_id = b.report_id
AND a.computer_id = b.computer_id
)
相关文章