sql示例___ 添加一顺序列

方法一:create table person(
    id int not null,
    name varchar(32) not null
)
insert into person
    select 1,'zhangsan' union all
    select 2,'lisi' union all
    select 3,'王五' union all
    select 4 '刘六'

select identity(int,1,1) as 顺序, name into #person from person order by name;
select * from #person order by 顺序;

drop table #person;

说明:sql server中实现排序后添加一显示顺序列。

IDENTITY(属性):在表中创建一个标识列。此属性与 CREATE TABLE 及 ALTER TABLE Transact-SQL 语句一起使用。

显示结果:

顺序  name

1      lisi
2      zhangsan
3      刘六
4      王五

方法二:

    select count(*)as 顺序,p.name
    from person p,person b
    where p.name >= b.name
    group by p.name
    order by p.name --desc

    或:

    select count(*)as 顺序,p.name
    from person p,(select name from person ) b
    where p.name >= b.name
    group by p.name

    说明:此方法有局限性,有重名的时候结果就不是我们想要的预期结果了。修改后的:

             select count(*)as 顺序,p.name
                from (select distinct name,id from person) p,(select distinct name from person) b
                where p.name >= b.name
                group by p.name
                order by p.name

             此方法的缺点是重名的被过滤掉。因此第一种方法是最好的。

请大家指教谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值