2013-07-04 26 views
0

即時使用IN()函數來重新匹配某些ID。使用來自IN()函數的匹配參數

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

你想要的總和是多少? – JohnFx

回答

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) 
+0

這麼簡單但很有用,謝謝! –

0

嘗試像

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