Sql查询;求和字段


Sql query; sum fields

我在sql中被一个sum卡住了。我想做的是:

我有一张桌子,里面有物品的id。这些id链接到另一个表"库",其中包含这些项的描述、名称和点。

现在,我需要在图书馆里找到一些不同的项目,并一起计算这些点的总数。

我希望我已经足够清楚了。在我使用的查询下面:

"SELECT SUM(`points`) AS `total` FROM `library` WHERE `id` = '".    $row2['lid'] ."'"

如果id来自表,则应使用joininexists。类似于:

select sum(points) as total
from library l join
     otheridtable oit
     on l.id = oit.id;

您应该而不是将id从数据库移动到应用程序层,只是将它们填充到字符串中并发送回数据库。这是不雅的,效率低下的,而且工作比必要的还要多。

一种可能的方法是:

"SELECT SUM(`points`) AS `total` FROM `library` WHERE `id` in (". $IDlist .")"

其中$IDList是以逗号分隔的ID列表,例如"'1', '2', '3'"

如果这些是数字标识,则可以避免使用单引号,它们用于字符串。