У меня есть таблица1 со следующими записями:
campo1 campo2 campo3
Adrian 25 2016-09-17
Juan 27 2016-09-14
Alex 23 2016-09-03
Ana 31 2016-09-17
Rocio 29 2016-09-17
В предполагаемом случае, что field3 всегда изменяется, но не все записи одновременно, так как я могу получить только записи с самой последней датой, попробуйте сделать это с помощью max()
Select * from tabla1 where campo3 = max(campo3);
В этом случае я хочу получить следующий результат:
campo1 campo2 campo3
Adrian 25 2016-09-17
Ana 31 2016-09-17
Rocio 29 2016-09-17
но я повторяю эту дату еще раз, она не будет фиксированной, она всегда будет изменена, поэтому попробуйте получить самую последнюю дату с помощью max(), я уже пробовал группировать и ничего, если вы так любезны, объясните мне, что Я терплю неудачу или какая логика применима
Запрос будет выглядеть так:
Если у вас есть несколько одинаковых
id
, и вы хотите получить только самый большой:Учитывая таблицу:
CREATE TABLE
repetidosTimestamp
(c1
int(11) NOT NULL DEFAULT '0',c2
varchar(100) DEFAULT NULL,c3
varchar(100) DEFAULT NULL,c4
date DEFAULT NULL, PRIMARY KEY (c1
) ) ENGINE=InnoDB DEFAULT CHARSET=latin1Со следующими данными:
это выражение:
Выберите * из RepeatTimestamp как один WHERE c4 in (SELECT MAX(c4) FROM RepeatTimestamp, где one.c2=c2) закажите c4 DESC;
даст вам этот ответ:
которые представляют собой все новые записи, удаляя старые записи из таблицы в соответствии с полем времени.