Sql查询;求和字段
Sql query; sum fields
我被困在 sql 的总和上。我正在尝试做的是以下内容:
我有一个 table 用于存储项目的 ID。这些 id 链接到另一个 table 'library',其中包含这些项目的描述、名称和要点。
现在我需要在图书馆中抓取一些不同的物品并一起计算这些点数的总和。
希望我说得足够清楚。在我使用的查询下方:
"SELECT SUM(`points`) AS `total` FROM `library` WHERE `id` = '". $row2['lid'] ."'"
一种可行的方法是:
"SELECT SUM(`points`) AS `total` FROM `library` WHERE `id` in (". $IDlist .")"
其中 $IDList
是以逗号分隔的 ID 列表,例如 "'1', '2', '3'"
。
如果这些是数字 ID,您可以避免使用单引号,它们用于字符串。
如果 ID 来自 table,那么您应该使用 join
、in
或 exists
。类似于:
select sum(points) as total
from library l join
otheridtable oit
on l.id = oit.id;
你应该不将id从数据库移动到应用层,只是将它们塞进一个字符串并发送回数据库。那是不优雅的,低效的,并且比必要的工作更多。
我被困在 sql 的总和上。我正在尝试做的是以下内容:
我有一个 table 用于存储项目的 ID。这些 id 链接到另一个 table 'library',其中包含这些项目的描述、名称和要点。
现在我需要在图书馆中抓取一些不同的物品并一起计算这些点数的总和。
希望我说得足够清楚。在我使用的查询下方:
"SELECT SUM(`points`) AS `total` FROM `library` WHERE `id` = '". $row2['lid'] ."'"
一种可行的方法是:
"SELECT SUM(`points`) AS `total` FROM `library` WHERE `id` in (". $IDlist .")"
其中 $IDList
是以逗号分隔的 ID 列表,例如 "'1', '2', '3'"
。
如果这些是数字 ID,您可以避免使用单引号,它们用于字符串。
如果 ID 来自 table,那么您应该使用 join
、in
或 exists
。类似于:
select sum(points) as total
from library l join
otheridtable oit
on l.id = oit.id;
你应该不将id从数据库移动到应用层,只是将它们塞进一个字符串并发送回数据库。那是不优雅的,低效的,并且比必要的工作更多。