设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[与其它组件] 如何进行分类排序并且赋予分组序号?

[复制链接]
跳转到指定楼层
1#
发表于 2006-8-15 00:17:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
id nam summ  序号
1 c 0               1
2 b 0               1
3 a 0                1
4 c 1                2
5 b 1                2
6 a 1                2
7 b 2                3
8 b 2                4
9 a 2                3
10 c 3              3
11 a 3             4
12 b 4             5
13 a 4             5
14 c 5              4

按照a,b,c分组,然后分别把a,b,c按照id排序,最后给每个组都赋予一个序号,即按照a,b,c出现的次数,赋予一个数字,得到“序号”列里面的数字

这有的要求,查询可以做到么,请高人指点

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-8-15 00:21:00 | 只看该作者
将要求结果贴出来看看
3#
 楼主| 发表于 2006-8-15 00:25:00 | 只看该作者
以下是引用wwwwa在2006-8-14 16:21:00的发言:
将要求结果贴出来看看

“序号”那一列下面的数字就是需要产生的结果

数据少可以手工赋值,多了就只能想办法
4#
发表于 2006-8-15 00:29:00 | 只看该作者
try:

SELECT *,(select count(*) from 表1 where a.nam=nam and a.id>=id) from 表1 a order by id
5#
 楼主| 发表于 2006-8-15 02:18:00 | 只看该作者
以下是引用wwwwa在2006-8-14 16:29:00的发言:


try:

SELECT *,(select count(*) from 表1 where a.nam=nam and a.id>=id) from 表1 a order by id

切实可行~不过,大样本(大约800条)执行的太慢

谢谢wwwwa
6#
发表于 2006-8-15 18:37:00 | 只看该作者
以下是引用smokinglog在2006-8-14 18:18:00的发言:



切实可行~不过,大样本(大约800条)执行的太慢


谢谢wwwwa



你自己修改一下SQL语句即可:

SELECT a.id, a.nam, count(*)
FROM 表1 AS a INNER JOIN 表1 AS b ON (a.id>=b.id) AND (a.nam=b.nam)
GROUP BY a.id, a.nam
ORDER BY [a.id];

点击这里给我发消息

7#
发表于 2006-8-15 18:51:00 | 只看该作者
不错!谢谢wwwwa!
8#
发表于 2007-12-30 15:17:18 | 只看该作者
不错...到学习了................
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-4 12:07 , Processed in 0.118382 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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