设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2649|回复: 9
打印 上一主题 下一主题

[查询] [已解决]在没有sn的情况下, 怎样用sql得出某记录是第几条记录?

[复制链接]
跳转到指定楼层
1#
发表于 2009-3-24 02:39:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yexiangzi 于 2009-3-25 18:31 编辑

在没有sn的情况下, 怎样用sql得出某记录是第几条记录?

小弟的情况是这样的, 如下表
sn
name
quantityA
quantityB
1
aaaa
10000
5000
2
eeeee
9000
4000
3
ccccc
8000
3000
4
qqqqq
7000
2000
5
rrrrr
6000
1000

这个表是让各位好一理解的, 实际上并没有sn这一列, 定义第一行quantityAquantityB的结果为result1, 第二行quantityAquantityB的结果为result2, 如此类推, 那么怎样才能够得出前三行quantityAquantityB的结果?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-3-24 06:24:44 | 只看该作者
你是想得到序号或者得到quantityA-quantityB
3#
发表于 2009-3-24 08:02:19 | 只看该作者

在ACCESS自带帮助文档中搜索 select top


******************
*  一切皆有可能  *
******************

.
ACMAIN - Access论坛回贴准则(个人).
.

.
QQ群 48866293 / 12035577 / 7440532 / 13666209
http://www.office-cn.net/vvb/ .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
.
http://www.office-cn.net/home/space.php?uid=141646 .
4#
 楼主| 发表于 2009-3-24 14:03:29 | 只看该作者
你是想得到序号或者得到quantityA-quantityB
Henry D. Sy 发表于 2009-3-24 06:24


应该是后者, 想得到顺序的quantityA-quantityB
5#
 楼主| 发表于 2009-3-24 14:04:29 | 只看该作者
在ACCESS自带帮助文档中搜索 select top
ACMAIN_CHM 发表于 2009-3-24 08:02


小弟试试
6#
发表于 2009-3-24 14:24:28 | 只看该作者
是不是这样:
select quantityA -  quantityB as result from tb
7#
发表于 2009-3-24 22:16:38 | 只看该作者
应该是后者, 想得到顺序的quantityA-quantityB
yexiangzi 发表于 2009-3-24 14:03
你自己都没有确定?
8#
发表于 2009-3-25 14:33:42 | 只看该作者
除非表中有唯一标识的字段,如quantityA OR quantityB唯一,不重复
9#
 楼主| 发表于 2009-3-25 15:20:35 | 只看该作者
小弟可能表达不清楚, 令大家都难以理解了, 这个问题其实可以简单地理解为一个分页问题, 就是假设有一个表, 里面有10笔记录, 分10页, 第一页就是第一笔记录, 如此类推. 只不过现在不是真的在做分页, 只是效果上跟分页有点相似, 就是要找出数据表中的第n笔记录, 而且不是单纯的查询1笔记录, 而是将quantityA减quantityB制成一个新的字段
10#
 楼主| 发表于 2009-3-25 18:33:10 | 只看该作者
转自一位大大的解答

SELECT count(y.sn) as row_num, (x.quantityA-x.quantityB) as VAR, x.sn, x.name, x.quantityA, x.quantityB
FROM TestData as X, TestData as Y
WHERE x.sn >= y.sn
       and x.sn >= 2
       and y.sn >= 2     
GROUP BY  x.sn, x.name, x.quantityA, x.quantityB
HAVING count(y.sn) <=3

Note:WHERE条件式 x 与 y 需一致(例:x.sn >= 2 and y.sn >= 2)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-14 16:07 , Processed in 0.090523 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表