mysql - 在两列上使用 group by 获取计数

标签 mysql sql

我有下表,我想每天获取不同主题的不同用户的数量。

id userid subject date
1  100    English  28-09-2018
2  101    English  28-09-2018
3  100    Maths    29-09-2018
4  101    Science    29-09-2018
5  102    English    28-09-2018
6  102    Science    29-09-2018

我尝试使用 group by 但没有得到预期的结果。 下面的sql不能正常工作。

select count(userid), subject, date from user_detail group by subject,date

最佳答案

要获取日期主题分组的唯一用户计数,您可以使用Count(Distinct ..)功能。

尝试以下操作:

SELECT date,
       subject, 
       count(distinct userid) AS unique_users_count 
FROM user 
GROUP BY date, subject

关于mysql - 在两列上使用 group by 获取计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52585162/

相关文章:

mysql - 学生出勤表结构

php - 如何将帖子插入 wordpress 并将其与类别相关联?

Mysql:获取首次登录和最后一次注销时间

sql auto increment/identity 执行后不存在

php - 只比较循环中的选定值以避免错误消息

php - 在 foreach 中对 mysql-select 中的数组进行排序

MySQL For Each 具有特定值的条件

sql - 检查 SELECT 中子查询的结果是否存在

mysql - SQL "BETWEEN"请求不按我的意愿行事

SQL - 使用一个查询的结果作为一个语句中其他两个查询的基础