这是表结构如何用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
声明将列出report_id
每computer_id
从最新进入date_entered
,我不知道该怎么做。任何人都可以将我指向正确的方向吗? Thx提前。
差不多。我遗漏了“a.report_id = b.report_id”,这就是诀窍。谢谢 – poetter747
这是有点低效的,因为你生成了太多的子查询。 而是尝试使用不相关的子查询。 https://dev.mysql.com/doc/refman/5.6/en/example-maximum-column-group-row.html – Pablo
Pablo是正确的。过滤可以通过加入子查询来完成,从而可以节省性能。 – twicejr