使用来自IN()函数的匹配参数

时间:2013-07-04 22:48:26

标签: mysql

我正在使用 IN()功能来匹配一些ID。

SELECT * FROM my_table WHERE id IN(id1,id2,id3)

问题是,现在我需要根据匹配的id计算 SUM(),我想在同一个查询上进行。像

这样的东西
SELECT *,(SELECT SUM() WHERE id = the_matched_id) FROM my_table WHERE id IN(id1,id2,id3)

¿有可能吗?也许我应该考虑更改我的查询,或单独进行。 ¿你有什么建议?

谢谢!

2 个答案:

答案 0 :(得分:2)

匹配的ID只是外表中每行的ID。您可以使用不同的别名来比较这些ID

SELECT *, (SELECT SUM(summableColName) FROM my_table t2 WHERE t2.id = t1.id)
FROM my_table t1 WHERE id IN (id1, id2, id3)

答案 1 :(得分:0)

尝试类似

的内容
SELECT id,sum(field) FROM my_table WHERE id IN(id1,id2,id3)
GROUP BY id