Jest to struktura tabeliJak wybrać 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
muszę SELECT
oświadczenie, że będzie notowanie report_id
za computer_id
z ostatnio wprowadzonych date_entered
, i nie mam pojęcia jak to zrobić. Czy ktoś może wskazać mi właściwy kierunek? Z góry.
Prawie. Pominąłem "a.report_id = b.report_id" i to wystarczyło. Dziękujemy – poetter747
Jest to trochę mało wydajne, ponieważ generujesz zbyt wiele podkwerend. Zamiast tego spróbuj użyć nieskorelowanego podzapytania. https://dev.mysql.com/doc/refman/5.6/en/example-maximum-column-group-row.html – Pablo
Pablo jest poprawny. Filtrowanie można wykonać wcześniej, łącząc podzapytanie, a tym samym oszczędzając wydajność. – twicejr