2015-03-12 7 views
1

Я хочу обновить последнюю последнюю строку, где значение столбца boolean равно True.Обновить, где значение столбца: True И столбца временной метки MAX

boolval и timestamp - это мои две колонки в таблице.

boolval timestamp 
-------------------------------- 
True  1998-01-02 00:00:00.000  
False 1999-01-02 00:00:00.000  
False 2000-01-02 00:00:00.000  
True  2001-01-02 00:00:00.000 --(Given this data, I want to update this row)  
False 2006-01-02 00:00:00.000 

Рассмотрим псевдокод для того, что я хочу сделать ..

UPDATE tablename SET boolval='False' WHERE boolval='True' AND timestamp IS MAX; 

AND timestamp IS MAX неверен синтаксис и приводит заявление недействительным.

+2

mySQL или SQL Server? Они разные –

+1

Используете ли вы SQL Server и MySQL? (Не помещайте те продукты, которые не задействованы ...) – jarlh

+0

Это одноразовая задача или что-то, что происходит часто? – jarlh

ответ

5
UPDATE Table1 
SET boolval='False' 
WHERE boolval='True' 
AND timestamp = (SELECT MAX(timestamp) FROM Table1 where boolval='True'); 
Смежные вопросы