Questa è la struttura della tabellaCome selezionare per MAX (data)?
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
ho bisogno di una dichiarazione SELECT
che elencherà il report_id
per computer_id
da ultimo entrato date_entered
, e non ho idea di come farlo. Qualcuno può indicarmi la giusta direzione? Grazie in anticipo.
Quasi. Ho omesso "a.report_id = b.report_id" e questo ha funzionato. Grazie – poetter747
Questo è un po 'inefficiente perché stai generando troppe sottoquery. Invece, prova ad usare una sottoquery non correlata. https://dev.mysql.com/doc/refman/5.6/en/example-maximum-column-group-row.html – Pablo
Pablo è corretto. Il filtraggio può essere fatto prima unendo una subquery, risparmiando così le prestazioni. – twicejr