[英]How to count different values of records in same column for single id in MYSQL
[英]How to update different values in same column in mysql in single query?
我有一個表名測試,其中包含兩列 id 和 mysql db 中的計數。 我想在單個查詢中做類似的事情(我知道這不起作用)。
UPDATE test
SET
count = (1, 2, 3)
WHERE
id IN (5, 8, 9);
當 count 和 id 固定時我可以使用CASE
但在我的情況下它們會改變所以我不能使用它。 給定示例,它們有 3 個值,但可能在 1 到 10 之間變化。如果有人知道如何在單個查詢中執行此操作,請提供幫助。
如果您有很多值對,一種解決方案是將它們存儲在單獨的表中,然后將其加入更新查詢中:
update test t
inner join mapping m on m.id = t.id
set t.count = m.count
您可以在查詢中使用派生表:
UPDATE test t JOIN
(SELECT 1 as cnt, 5 as id UNION ALL
SELECT 2 as cnt, 8 as id UNION ALL
SELECT 3 as cnt, 9 as id
) x
ON t.id = x.id
SET count = x.cnt;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.