[access查询]为查询加ID几种方法
时 间:2011-06-07 10:14:53
作 者:LCHL ID:304 城市:哈尔滨
摘 要:很多朋友都碰到这个问题,如果在查询中生成一个行号。
正 文:
最近在论坛上和大家讨论为查询加ID问题,在网上搜到一篇文章,感觉很好,推荐给大家:
很多朋友都碰到这个问题,如果在查询中生成一个行号。比如有如下表
tblA
ID, CNAME, SCORE
1 A001 80
2 B002 71
3 C003 92
4 E004 80
5 D005 85
想按分数来得到名次,如何实现? Access的SQL语句中没有rownum之类的伪列函数。 不过除了采用程序来实现外,你还可以通过下面SQL查询语句来实现
一、按成绩排序,并列者向下顺延(如下没有第三名,并列两个第四)。
ID CNAME SCORE SNO
3 C003 92 1
5 D005 85 2
4 E004 80 4
1 A001 80 4
2 B002 71 5
select a.ID, a.CNAME, a.SCORE,count(*) as SNO
from tblA a inner join tblA b on a.SCORE<=b.SCORE
group by a.ID, a.CNAME, a.SCORE
order by a.SCORE desc
二、按成绩排序,并列者向上顺延(如下没有第四名,并列两个第三)。
ID CNAME SCORE SNO
3 C003 92 1
5 D005 85 2
4 E004 80 3
1 A001 80 3
2 B002 71 5
select a.ID, a.CNAME, a.SCORE,count(b.ID)+1 as SNO
from tblA a left join tblA b on a.SCORE
order by a.SCORE desc
三、按成绩排序,并列者以学号大者在先。
ID CNAME SCORE SNO
3 C003 92 1
5 D005 85 2
4 E004 80 3
1 A001 80 4
2 B002 71 5
select a.ID, a.CNAME, a.SCORE,count(*) as SNO
from tblA a inner join tblA b on (a.SCORE
order by 4
以上为标准SQL查询语句。除此之外,在ACCESS环境中还可以用DCOUNT域函数来实现这个排序号。 用DCOUNT域函数来实现的优点是,这个查询仍为可更新查询。但仅在ACCESS环境中可用。如果你用ADO,DAO通过JET-SQL引擎则不可以了。比如你在ASP中。
一、
select id,CNAME,SCORE,DCOUNT('ID','tblA','SCORE>=' & SCORE) as SNO
from tblA
order by 4
二、
select id,CNAME,SCORE,DCOUNT('ID','tblA','SCORE>' & SCORE)+1 as SNO
from tblA
order by 4
三、
select id,CNAME,SCORE,DCOUNT('ID','tblA','SCORE>' & SCORE & ' or (SCORE=' & SCORE & ' AND ID>=' & ID & ')' ) as SNO
from tblA
order by 4
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ACMAIN_CHM/archive/2010/01/03/5125291.aspx
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 根据变化的日期来自动编号的示例...(06.20)
- 【Access高效办公】按日期...(06.12)
- 合并列数据到一个文本框的示例;...(05.06)
- 通过命令按钮让Access列表...(04.24)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)

学习心得
最新文章
- 根据变化的日期来自动编号的示例;根...(06.20)
- Access快速开发平台--Acc...(06.16)
- 【Access高效办公】按日期区间...(06.12)
- Access快速开发平台--生成复...(06.07)
- 仓库管理实战课程(25)-导航菜单...(06.06)
- 仓库管理实战课程(24)-库存月结...(06.05)
- 分享一个简单的X氏家谱小示例(06.04)
- 仓库管理实战课程(23)-先入先出(06.02)
- 仓库管理实战课程(22)-代理商库...(05.30)
- 仓库管理实战课程(21)-安全库存...(05.28)