我想更新boolean
列值为True
的单个最新行。
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
语法不正确,导致语句无效。
答案 0 :(得分:5)
UPDATE Table1
SET boolval='False'
WHERE boolval='True'
AND timestamp = (SELECT MAX(timestamp) FROM Table1 where boolval='True');