有一个通讯录表T中的相关记录数据如下:
id(编号) name(姓名) age(年龄) department(部门)
1 A 20 开发
2 B 23 测试
3 C 24 资料
4 D 27 测试
6 E 27 开发
7 F 20 开发
8 G 23 测试
9 H 24 开发
10 I 21 开发
11 J 29 资料
12 K 28 开发要根据部门分组查询出所有联系人,并对每组内的数据按降序排序
我这样写sql(select t2.* from T where t2.department in (select t1.department from T group by t1.department)
),但分组后没有再按id降序排序,请问应该怎么写sql啊
id(编号) name(姓名) age(年龄) department(部门)
1 A 20 开发
2 B 23 测试
3 C 24 资料
4 D 27 测试
6 E 27 开发
7 F 20 开发
8 G 23 测试
9 H 24 开发
10 I 21 开发
11 J 29 资料
12 K 28 开发要根据部门分组查询出所有联系人,并对每组内的数据按降序排序
我这样写sql(select t2.* from T where t2.department in (select t1.department from T group by t1.department)
),但分组后没有再按id降序排序,请问应该怎么写sql啊
select id,name,age,department,
row_number()over(partition by department order by id desc) row_
from t;