我使用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)
是否可以?也许我应该考虑改变我的查询,或者单独做。¿ 你有什么建议?
谢谢!
我使用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)
是否可以?也许我应该考虑改变我的查询,或者单独做。¿ 你有什么建议?
谢谢!
匹配ID
的只是ID
外部表中每一行的。您可以使用不同的别名来比较这些ID
s。
SELECT *, (SELECT SUM(summableColName) FROM my_table t2 WHERE t2.id = t1.id)
FROM my_table t1 WHERE id IN (id1, id2, id3)
尝试类似的东西
SELECT id,sum(field) FROM my_table WHERE id IN(id1,id2,id3)
GROUP BY id