读书人

SQL的Distinct和Group By查询不同数据

发布时间: 2013-07-16 22:38:05 作者: rapoo

求助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后面跟多个列名的话是怎么实现筛选的?

多谢!! SQL
[解决办法]
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后面进行筛选

读书人网 >SQL Server

热点推荐