sqlserver2008 distinct 去掉重复值后如何不排序 105
如下表(职员薪资表):departmentnamebasic_wages企划部张三9800企划部李四11300财务部王五8500财务部赵六7800执行SQL语句:"sel...
如下表(职员薪资表):
department name basic_wages
企划部 张三 9800
企划部 李四 11300
财务部 王五 8500
财务部 赵六 7800
执行SQL语句:"select distinct department from 职员薪资表" 后:
department
1 财务部
2 企划部
部门显示顺序发了生改变,如何保持顺序不变?
或者用别的方法也可以 展开
department name basic_wages
企划部 张三 9800
企划部 李四 11300
财务部 王五 8500
财务部 赵六 7800
执行SQL语句:"select distinct department from 职员薪资表" 后:
department
1 财务部
2 企划部
部门显示顺序发了生改变,如何保持顺序不变?
或者用别的方法也可以 展开
4个回答
展开全部
如果不想顺序改变的话,你不能使用distinct
1、可以尝试使用Row_Number先得出一个RN
select
*,
Row_Number Over(partition by department order by id) RN
from 职员薪资表
2、然后找出RN=1的就是了。
1、可以尝试使用Row_Number先得出一个RN
select
*,
Row_Number Over(partition by department order by id) RN
from 职员薪资表
2、然后找出RN=1的就是了。
追问
我复制你的代码,提示有语法错误....
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在distinct后面会跟一个你需要消除的字段,比如name字段,那么name一样的会被消除,如果你是distinct * 所有的话,那么打印出来的还是全部,什么都没有消除,所以distinct只会消除后面跟着的字段!而不是一条数据...
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用什么方法都是小道,你应该思考的是,需不需要排序,本来是按什么排序的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select distinct department from (select 自动编号,department,name,basic_wages from 职员薪资表) a order by 自动编号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询