SQL查询语句 去重复 40yylyhl]

发布时间:2016-12-10 20:49:07 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"SQL查询语句 去重复 40yylyhl]",主要涉及到SQL查询语句 去重复 40yylyhl]方面的内容,对于SQL查询语句 去重复 40yylyhl]感兴趣的同学可以参考一下。

本帖最后由 yylyhl 于 2012-03-28 10:02:52 编辑 a表中各个科目的数据都有n条  现在要统计表中有哪些科目及各科的条数    我是这样写的 select subject=(select code_name from t_code where code_id=t1.subject), num=(select count(*) from t_tutor_phone_log where user_id=133 and subject=t1.subject) from t_log t1  但是这样查到的结果是:    subject num 1   历史    2 2   英语    1 3   历史    2 4   地理    2 。。。。。。。 重复了

select subject ,count(*) from tb group by subject  --or select min(code_id),subject ,count(*) from tb group by subject 

select distinct subject=(select code_name from t_code where code_id=t1.subject), num=(select count(*) from t_tutor_phone_log where user_id=133 and subject=t1.subject) from t_log t1 

后边加 group by [subject]

select  subject=t2.code_name, num=COUNT(*) from t_tutor_phone_log t1   inner JOIN t_code AS t2 ON t1.SUBJECT=t2.code_id WHERE [USER_ID]=133  GROUP BY t2.code_name

加上distinct就解决了 谢谢各位了 

引用 5 楼  的回复:加上distinct就解决了 谢谢各位了 那样效率低,参加4楼用表连接+group by

应经按四楼的方式写了 

你需要的是进行分组group by

上一篇:SQL select total_time=(end_time+learn_time)/2 from t_Learn 运算 20yylyhl]
下一篇:-----SQL2012新版给我们带来了什么激动人心的功能----- 40Chinajiyong]

相关文章

相关评论