求助SQL的Distinct和Group By查询不同数据
本帖最后由 zmjfanfan 于 2013-07-11 11:13:21 编辑
subject表如下:
subnum name
1 美术
2 音乐
2 音乐
4 美术
分别用distinct和group by查询这个表
1、怎么样查询出name不一样的数据?
2、怎么样查询出name和subnum都不一样的数据?
3、distinct和group by的效率哪个高?
4、distinct和group by后面跟多个列名的话是怎么实现筛选的?
多谢!!
------解决方案--------------------1、select distinct name from tb
2、select distinct name ,subnum from tb
3、解析后都一样
4、group by 后面的字段先后是按照优先级的(distinct 同)
group by A,B 即先按照A进行分组,A相同的,按B分组
group by B,A 即先按照B进行分组,B相同的,按A分组
------解决方案--------------------select distinct [name] from subject
select [name] from subject group by [name]
select distinct [name],subnum from subject
select [name],subnum from subject group by [name],subnum
哪个效率高请打开查询分析器后按Ctl+L执行,看实际情况
group by后面的多个列名可以放在where后面进行筛选