我有一个数据库,用户可以在其中提交有关已执行多少步骤的信息,我正尝试将其拉成排行榜,但由于它是单独提交的,因此他们分开拉。
SELECT step_count.steps, step_count.email, logins.FirstName, logins.LastName
FROM step_count, logins
WHERE step_count.email=logins.email
这是查询,这是信息被提取的方式
steps | email | FirstName | LastName
5000 | [email protected] | One | onetest
300 | [email protected] | Two | twotest
200 | [email protected] | One | onetest
有没有一种方法可以将两者结合在一起以获得步骤总数?
最佳答案
您可以将SUM
聚合函数与GROUP BY
语句一起使用:
SELECT SUM(step_count.steps),
step_count.email,
logins.FirstName,
logins.LastName
FROM step_count, logins
WHERE step_count.email=logins.email
GROUP BY step_count.email, logins.FirstName, logins.LastName
这样,您可以按要聚合的字段分组,并为每个组求和一个数字字段(步)。
看一下:mysql aggregate functions
您还应该查看
INNER JOIN
语句以联接表,而不要使用WHERE
子句。