Mysql 使用IN()函数中的匹配参数

Mysql 使用IN()函数中的匹配参数,mysql,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) SELECT id,sum(field) FROM my_table WHERE id IN(i

我正在使用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)
SELECT id,sum(field) FROM my_table WHERE id IN(id1,id2,id3)
GROUP BY id
有可能吗?也许我应该考虑改变我的查询,或者单独做。你有什么建议

谢谢

试试类似的方法

SELECT *,(SELECT SUM() WHERE id = the_matched_id) FROM my_table WHERE id IN(id1,id2,id3)
SELECT id,sum(field) FROM my_table WHERE id IN(id1,id2,id3)
GROUP BY id

匹配的
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)

你想要多少钱?