mysql - 使用 JOIN 计算每天的登录次数

标签 mysql join count

我有两张 table 。

  1. users,其中包含字段idnameemaillogin , pw
  2. logins,其中包含字段iduseridstatusday

现在我想创建一个表,可以根据每个用户登录的天数进行排序。

我已经尝试过这个:

SELECT u.id, u.name, u.email, l.userid,
COUNT(DISTINCT l.day) AS daysall
FROM users u
JOIN logins l ON l.userid = u.id
ORDER BY u.name

但我没有得到列表。谁能帮我找到解决方案吗?

最佳答案

使用用户 ID 来GROUP BY用户进行计数。尝试这个查询:

SELECT u.id, u.name, u.email, l.userid,
COUNT(DISTINCT l.day) AS daysall
FROM users u
JOIN logins l ON l.userid = u.id
GROUP BY u.id
ORDER BY u.name;

关于mysql - 使用 JOIN 计算每天的登录次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32604339/

相关文章:

mysql - 计算SQL中其他列的累计百分比(赛马)

sql - 什么时候选择CROSS APPLY,什么时候选择EXISTS?

sql - MySQL COUNT 无法统计

mysql - 如何使用 MySQL 计算每个组的用户数?

C++ 字符串操作/输入

c# - 在sql查询中使用参数来确定要使用哪一列

mysql - asp.net插入多行

php - 从数据库输入后用 PHP 对 HTML 表进行排序

mysql - 在不同的关系上加入同一张表

sql - Select Join 在不同数据库中是否存在性能问题?