我有一个查询,它给出了如下所示的输出:
date|count|highest
---------------------
mon | 20 | null
tue | 32 | null
wed | 45 | null
thu | 14 | null
fri | 74 | null
sat | 12 | null
sun | 32 | null
现在,我需要运行一个从“count”中选取最高值的查询,并将该值替换为该值,如下所示:
date|count|highest
---------------------
mon | 20 | null
tue | 32 | null
wed | 45 | null
thu | 14 | null
fri | 74 | 74
sat | 12 | null
sun | 32 | null
有人可以帮忙吗?
编辑:最高列不是表中的物理列,但它是select语句的输出。所以我不想更新表格。
我使用的查询:
select date_format(timestamp, '%Y-%m-%d %H:00:00') as date, count, "null" as highest
from Table_A
where (timestamp >= (now() - interval 24 hour))
group by date
order by date desc
*不要担心“约会”
答案 0 :(得分:0)
UPDATE table_name
SET highest = COUNT
WHERE id IN
(SELECT id
FROM table_name
ORDER BY COUNT DESC LIMIT 1);
答案 1 :(得分:0)
使用子查询
UPDATE table1 SET highest = 74 WHERE count = (SELECT Max(Count) FROM table2)
答案 2 :(得分:0)
尝试使用此语法并告诉我它是否有效!
UPDATE table_name
SET highest = 74
WHERE count = (SELECT max(count) FROM table_name)
或
UPDATE table_name
SET highest = (SELECT max(count) FROM table_name)
WHERE count = (SELECT max(count) FROM table_name)
不想更新,只想获得最高
SELECT *
FROM table_name
WHERE count = (SELECT max(count) FROM table_name)
试试这个
SELECT date, count, IF(count= (SELECT max(count) FROM table_name), (SELECT max(count) FROM table_name), 'null') AS highest FROM table_name WHERE count = (SELECT max(count) FROM table_name)
干杯!
答案 3 :(得分:0)
更新表格中的指定行
UPDATE table_name SET field1 = value1,field2 = value2 WHERE field_n = some_value;
删除表格中的指定行
DELETE FROM table_name WHERE field1 = some_value;