vb,asp关于ACCES SQL 列排序的问题求解

access表中,列项有XM1,XM2,XM3,XM4,通过一条记录累加了各值,求通过ID=4的记录,按高低分排序,得出XM1,XM3,XM2,XM4的排序,用SQL查询... access表中,列项有XM1,XM2,XM3,XM4, 通过一条记录累加了各值,求通过ID=4的记录,按高低分排序,得出XM1,XM3,XM2,XM4的排序,用SQL查询语句,万分谢谢!
我是求列的排序,ID=4已经是累加合并的结果了,那如何按ID=4的累加结果排序得到如下列表:
xm1 19
xm3 14
xm2 11
xm4 7
展开
 我来答
sdxuelj
2014-01-01 · TA获得超过163个赞
知道小有建树答主
回答量:380
采纳率:0%
帮助的人:158万
展开全部
最好的办法是在这个表里加入一个合计字段,然后使用
sql_str1="Update 表名 set 合计=XM1+XM3+XM2+XM4"
来求和更新。
然后使用
sql_str2="select * from 表名 order by 合计"
排序查询。
追问
你题目看错了,我不是求行的排序,我是求列的排序,ID=4已经是累加合并的结果了,那如何按ID=4的累加结果排序得到如下列表:
xm1 19
xm3 14
xm2 11
xm4 7
追答
通常情况下,数据库的表没有你这样设计的啊。你表设计结构好像有问题。据我所知,在sql语句中没有列排序。如果非要按照你的表来排序的话,首先你要固定ID=4这条纪录确实是上三条记录之和,然后查询id=4的纪录,然后像nanyue2004说的,编写一个排序函数将xm1、xm2 、xm3  、 xm4排序,比如排序结果为xm3  、xm2 、xm1、 xm4,最后写sql语句为:
select id,user1,xm3 ,xm2,xm1, xm4 from…………输出查询。
百度网友f7e61df
2014-01-01 · TA获得超过4086个赞
知道小有建树答主
回答量:395
采纳率:0%
帮助的人:146万
展开全部
asp页面上做个排序吧,将获取的ID4的记录集数据放入 排序函数排序一下,然后再用,下面是个排序函数
Function Sort(ary)DimKeepChecking,I,FirstValue,SecondValue KeepChecking=TRUEDoUntilKeepChecking=FALSE KeepChecking=FALSE ForI=0toUBound(ary) IfI=UBound(ary)ThenExitFor Ifary(I)>ary(I+1)Then FirstValue=ary(I) SecondValue=ary(I+1) ary(I)=SecondValue ary(I+1)=FirstValue KeepChecking=TRUE EndIf NextLoop Sort=aryEndFunction
以下是应用测试dimID,ArrayID,Myarray,MID="55,48,78,10,90"ArrayID=split(ID,",")Myarray=Sort(ArrayID)'排序测试ForM=0ToUbound(Myarray) Response.WriteMyarray(M)&"<br>"&vbCRLFNext
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
money0_04c351c2
2014-01-01 · TA获得超过4142个赞
知道大有可为答主
回答量:5505
采纳率:49%
帮助的人:1622万
展开全部
可以用别名来实现,比较麻烦。真的有这个必要么~
还不如直接在显示的时候调整一下列顺序省事。
追问
我就是要求显示时能自动按从大到小的顺序排列啊,有什么办法呢
追答
你用什么形式显示结果?
如果是放在 ListView 里面,那直接调整 ListView 列的顺序就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式