sql查询语句,查询表中某一列出现不同值的次数

项目中有个需求,需要以某一列的值为基准,统计出现不同值的次数,具体点例子如下
sql查询语句,查询表中某一列出现不同值的次数_第1张图片
需要查找courseId等于某一个值时候,user_number的不同值的个数。使用的SQL语句如下:

select count(*) from (select distinct user_number from z_user_mark where mark_course_id = '1' and status >= '2') aa
或者
select count( distinct user_number) from
z_user_mark where mark_course_id = '1' and status >= '2'

有些同学可能不小心写成

select  distinct count(user_number) ...

这样是不对的,上边两种写法查出来的结果是1,而下边这个语句查出来的结果则是5,因为后边sectionId不同的数据它也会认为是不同的数据,导致count的时候算错了。注意distinct后边一定要跟紧用来做判断依据的列名称。

你可能感兴趣的:(日常工作问题,sql)