如何对某些重复数据求和?
How sum certain duplicated data?
我有一个id列表,有些id可以重复。
如何在一次查询中对同一 ID 的值求和?
SELECT SUM(`power`)
FROM `stats`
WHERE `template` IN (489191, 489191, 489100)
模板 489191 的功率 = 1,489100 的功率 = 0
所以我需要得到 2 作为结果。
您需要加入 table 值数据以获得所需的行数,例如:
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
table 值构造函数而不是 union all:
select sum(stats.power)
from (values
row(489191),
row(489191)
row(489100)
) as vlist(template)
join stats on vlist.template = stats.template
我有一个id列表,有些id可以重复。 如何在一次查询中对同一 ID 的值求和?
SELECT SUM(`power`)
FROM `stats`
WHERE `template` IN (489191, 489191, 489100)
模板 489191 的功率 = 1,489100 的功率 = 0 所以我需要得到 2 作为结果。
您需要加入 table 值数据以获得所需的行数,例如:
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
table 值构造函数而不是 union all:
select sum(stats.power)
from (values
row(489191),
row(489191)
row(489100)
) as vlist(template)
join stats on vlist.template = stats.template