我正在使用 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)
¿有可能吗?也许我应该考虑更改我的查询,或单独进行。 ¿你有什么建议?
谢谢!
答案 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