SQL中取序号的问题

有一个表A:里面记录着某个顾客的每次消费记录,顾客有ID,消费记录也有ID。消费记录ID是主键现在问题是:如果用查询出,客户的消费明细,并且查出该记录是顾客第几次消费~~... 有一个表A:
里面记录着某个顾客的每次消费记录,顾客有ID,消费记录也有ID。消费记录ID是主键
现在问题是:
如果用查询出,客户的消费明细,并且查出该记录是顾客第几次消费~~~
拜托各位了~~
多谢!多谢!
忘记说了! 是MySQL。并且是查询出所有顾客的交易次数
展开
 我来答
badkano
2014-09-10 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144771 获赞数:885383
团长

向TA提问 私信TA
展开全部

这样不就行吗

创建测试表及插入数据

create table a
(顾客id  int,
消费id int,
消费金额 int);

insert into a values (1,1,100);
insert into a values (1,2,20);
insert into a values (1,3,300);
insert into a values (1,4,40);

执行

set @r=0;
select @r:=@r+1, a.*
 
from A
 
where 顾客id=1;

结果

其中第一列就是消费次数

更多追问追答
追问
感谢大侠!
交易记录表中有多个顾客的时候呢?
得循环查询码?
追答
多个客户的话,你是每次按照指定的顾客ID查,还是要一下查出好几个顾客的记录?
Axure夜话
2014-09-10 · 知道合伙人软件行家
Axure夜话
知道合伙人软件行家
采纳数:1197 获赞数:1344
1992年毕业于太原理工大学,20年IT公司工作经验现任山西誉海和科技有限公司技术总监,老二牛车教育课程总监

向TA提问 私信TA
展开全部
这个问题的关键时候查询的时候使用的排序方式。有了排序方式你就可以在获取数据的时候构造虚拟的序号,有了序号序号就代表客户的第几次消费。比如使用排名函数生成等等。
追问

大侠您好,小弟还是不太明白。

  1. 我现在使用交易记录ID排序的,order by 交易记录ID

  2. 排名函数?

谢谢大侠!

追答
如果客户的消费次数如此重要的话,不妨修改一下设计思路,专门维护也是一种变通的方法,不需要拘泥于某中固定的方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
longrenyingdc8ecb1
2014-09-10 · TA获得超过1万个赞
知道大有可为答主
回答量:6032
采纳率:82%
帮助的人:2487万
展开全部
mysql没有row_number
只能自己手动加
select new_A.*,(select coun(*) from A where 顾客id=new_A.顾客id and 消费记录id<=new_A.消费记录id ) from A new_A where 顾客id=‘XXXXX’
那个顾客id应该是你自己输入的。

如果把where 顾客id=‘XXXXX’去掉,那么上面的语句应该是查询出所有顾客的消费记录。
顾客id=‘XXXXX’ 可以加条件,加and就行。
我没环境,不能测试,大概应该是这样的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
葡萄冰茶
2014-09-10
知道答主
回答量:60
采纳率:0%
帮助的人:20.4万
展开全部
是oracle吗 oracle 可以查出序号
追问
MYSQL
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式