distinct在SQL语句里面的用法,大家来看看
来源:百度知道 编辑:UC知道 时间:2024/06/05 11:08:00
我最近碰到一个问题,简单如下:
信息编号 标题 发布人
1 AAA 用户1
2 BBB 用户1
3 CCC 用户2
4 DDD 用户2
5 EEE 用户2
6 FFF 用户3
7 GGG 用户4
8 HHH 用户5
9 III 用户6
10 JJJ 用户9
11 KKK 用户7
12 LLL 用户8
我想按照ID号从小到大来排序输出9条信息,输出结果如下:
----------------------------------------------
1 AAA 用户1
3 CCC 用户2
6 FFF 用户3
7 GGG 用户4
8 HHH 用户5
9 III 用户6
10 JJJ 用户9
11 KKK 用户7
12 LLL 用户8
-------------------------------------------
请问各位这SQL代码怎么写?
select top 9 * from 表 order by 信息编号 asc
想在里面加上distinct 发布人 字段怎么加???????
也就是用户名重复
信息编号 标题 发布人
1 AAA 用户1
2 BBB 用户1
3 CCC 用户2
4 DDD 用户2
5 EEE 用户2
6 FFF 用户3
7 GGG 用户4
8 HHH 用户5
9 III 用户6
10 JJJ 用户9
11 KKK 用户7
12 LLL 用户8
我想按照ID号从小到大来排序输出9条信息,输出结果如下:
----------------------------------------------
1 AAA 用户1
3 CCC 用户2
6 FFF 用户3
7 GGG 用户4
8 HHH 用户5
9 III 用户6
10 JJJ 用户9
11 KKK 用户7
12 LLL 用户8
-------------------------------------------
请问各位这SQL代码怎么写?
select top 9 * from 表 order by 信息编号 asc
想在里面加上distinct 发布人 字段怎么加???????
也就是用户名重复
首先要解释的是:Distinct是避免 查询里的重复行,不是针对某一列的。
简单举例,数据表这样写:
姓名 年龄 性别
----------------------
张三 男 25
李四 女 25
王五 男 42
那么我这么写:
select distinct * from 表名
毫无效果,因为压根就没重复行,如果把语句减少一个查询字段:
select distinct 年龄 from 表名
那结果就只有两条了。
----请参考----
--按name分组取第一次出现的行所在的数据。
select a.* from tb a where val = (select top 1 val from tb where name = a.name) order by a.name
Select top 9 * from 表 where 信息编号 in(select Min(信息编号) from 表 group by 发布人) order by 信息编号
select top 9 * from 表 group by 发布人 order by 信息编号 asc
select MIN(标题),发布人 from 表 group by 发布人