0

我使用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)

是否可以?也许我应该考虑改变我的查询,或者单独做。¿ 你有什么建议?

谢谢!

4

2 回答 2

2

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

SELECT *, (SELECT SUM(summableColName) FROM my_table t2 WHERE t2.id = t1.id)
FROM my_table t1 WHERE id IN (id1, id2, id3)
于 2013-07-04T22:54:16.847 回答
0

尝试类似的东西

SELECT id,sum(field) FROM my_table WHERE id IN(id1,id2,id3)
GROUP BY id
于 2013-07-04T22:51:15.807 回答