SQL 如何实现一个表中的某条记录在该表中总记录数的排名? Access数据库的

[复制链接]
查看11 | 回复8 | 2011-5-22 06:37:13 | 显示全部楼层 |阅读模式
谢谢
回复

使用道具 举报

千问 | 2011-5-22 06:37:13 | 显示全部楼层
id=123什么意思?
回复

使用道具 举报

千问 | 2011-5-22 06:37:13 | 显示全部楼层
这个是举个例子,
假设有你的表有id列的话,123表示你要的某一条记录的id值,替换一下就可以了
当然id也需要根据你的表结构来替换成相应的列名

整条sql语句的意思就是把指定记录前得所有记录都查出来然后计数,就得到了该条记录的排名
回复

使用道具 举报

千问 | 2011-5-22 06:37:13 | 显示全部楼层
谢谢
你的意思我明白了,但我总觉得这样的语句有点牵强,这个结果应该是这个字段所处的位置,有几个比他小的总数,而不是真正意义上的第几名吧?
虽然结果是一样的
回复

使用道具 举报

千问 | 2011-5-22 06:37:13 | 显示全部楼层
好像是的,看来不是你要的
回复

使用道具 举报

千问 | 2011-5-22 06:37:13 | 显示全部楼层
还有我刚实践了一下,好像如果按两个字段排名,语句就相当的繁琐了。
朋友,你有更好的解决方案吗?
回复

使用道具 举报

千问 | 2011-5-22 06:37:13 | 显示全部楼层
也差不了多少
selectcount(*)fromTwhereid1in(selectidfromTwhereid1=123)andid2in(selectidfromTwhereid2=123)
回复

使用道具 举报

千问 | 2011-5-22 06:37:13 | 显示全部楼层
经过测试不成功
回复

使用道具 举报

千问 | 2011-5-22 06:37:13 | 显示全部楼层
试试selectcount(*)fromTwhereid1in(selectidfromTwhereid1=123andid2123)
出了错可以根据错误提示修正呀
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行