我有一個 id 串列,有些 id 可以重復。如何在一個查詢中對相同 id 的值求和?
SELECT SUM(`power`)
FROM `stats`
WHERE `template` IN (489191, 489191, 489100)
模板 489191 的 power = 1 和 489100 的 power = 0 所以我需要得到 2 作為結果。
uj5u.com熱心網友回復:
您需要加入表值資料以獲得所需的行數,例如:
select sum(stats.power)
from (
select 489191 as template union all
select 489191 union all
select 489100
) as vlist
join stats on vlist.template = stats.template
如果您使用的是 MySQL 8 或更高版本,則可以使用values表值建構式而不是 union all:
select sum(stats.power)
from (values
row(489191),
row(489191)
row(489100)
) as vlist(template)
join stats on vlist.template = stats.template
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/474794.html
上一篇:SQL分段
下一篇:零值合并函式有什么作用?
