首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2013-07-16 
求助SQL的Distinct和Group By查询不同数据本帖最后由 zmjfanfan 于 2013-07-11 11:13:21 编辑subject表如

求助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后面进行筛选

热点排行