我被困在一個總和在sql中。我想要做的是以下幾點:sql查詢;總和字段
我有一個存儲項目的id的表。這些ID與另一個表「庫」鏈接,並附有說明,名稱和這些項目的要點。
現在我需要抓住庫中的一些不同的項目,並計算這些點的總數。
我希望我已經夠清楚了。下面的查詢我使用的是:
"SELECT SUM(`points`) AS `total` FROM `library` WHERE `id` = '". $row2['lid'] ."'"
我被困在一個總和在sql中。我想要做的是以下幾點:sql查詢;總和字段
我有一個存儲項目的id的表。這些ID與另一個表「庫」鏈接,並附有說明,名稱和這些項目的要點。
現在我需要抓住庫中的一些不同的項目,並計算這些點的總數。
我希望我已經夠清楚了。下面的查詢我使用的是:
"SELECT SUM(`points`) AS `total` FROM `library` WHERE `id` = '". $row2['lid'] ."'"
如果ID來自表格,則應使用join
,in
或exists
。喜歡的東西:
select sum(points) as total
from library l join
otheridtable oit
on l.id = oit.id;
你應該不從數據庫中移動IDS到應用層,只是將它們塞進一個字符串,並送他們回數據庫。這是不雅,低效,更多的工作,而不是必要的。
一個可能的方式做到這一點是:
"SELECT SUM(`points`) AS `total` FROM `library` WHERE `id` in (". $IDlist .")"
哪裏$IDList
是你的ID的逗號分隔的列表,例如像"'1', '2', '3'"
。
如果這些是數字ID,您可以避免單引號標記,它們用於字符串。
非常感謝,讓sence也:) – 2015-02-09 11:36:59