gpt4 book ai didi

sql - MySQL Count 基于多列的值

转载 作者:行者123 更新时间:2023-11-30 23:42:41 25 4
gpt4 key购买 nike

我有两个表:一个包含“等级”和“用户 ID”列的“用户列表”,以及一个记录用户每次登录的“登录”表。登录表包含一个“用户 ID”列与“userID”相关联。每次用户登录时,此登录表都会插入一行,因此如果用户登录三次,则会向该表添加三行。

我需要运行一个查询,返回每个年级发生的唯一登录次数。

即:grade0 = 20 次登录,grade1 = 30 次登录

我有一种感觉,它是 DISTINCT、COUNT 和 GROUP BY 的组合,但我没弄对...

这个查询是错误的:

SELECT DISTINCT(userID), COUNT(*) as count, u.grade FROM userlist as u, login as l WHERE u.userID = l.userID GROUP BY u.grade, u.userID

它不返回唯一登录,而是返回所有登录(即,如果用户登录两次,则他被计算两次)。

最佳答案

select u.grade
, count(distinct l.userid)
from userlist u
join login l
on l.userid = u.userid
group
by u.grade

关于sql - MySQL Count 基于多列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1652251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com