如何按 MAX(日期)选择?

2021-12-19 00:00:00 max sql select mysql

这是表结构:

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_idreport_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
)

相关文章