怎么实现如下VFP排序

怎么实现如下VFP排序,第1张

姓名 总分 名次
张三 508 2
张四 505 3
李四 508 1

结果应该是:
姓名 总分 名次
李四 508 1
张三 508 2
张四 505 3
sort on -总分,姓名 to 排序表
USE 排序表
REPLA 名次 WITH RECNO()
BROW

有两种方法可选择:
1,搂字段 bmh 建立索引
2用Sort命令建立排序后的新文件
SORT TO <排序后的新表>
ON <排序字段> [/A | /D]
/A 升序
/D 降序

INDEX ON ZYDH+DTOC(csrq,1) TAG zydhcsrq

是用ZYDH和DTOC(csrq,1)为索引表达式 建立普通索引并排序,就是说先按ZYDH排序,如果有相同字段则按DTOC(csrq,1)排序

日期转字符函数:
格式:dtoc(d,1)
功能:将日期d转化为日期字符串
例:将日期型数据转化为字符型日期数据并显示汉字日期
set century on &&开启世纪前缀,即日期中年份用4位表示
set date ansi
rq={^20051114}
rq=dtoc(rq)
substr(rq,1,4)+"年"+substr(rq,6,2)+"月"+substr(rq,9,2)+"日"
显示:2005年11月14日

函数的参数1的意义,以适合为索引的格式返回日期。

函数返回一个对应于日期或日期时间表达式的字符串。日期格式可由SET CENTURY和SET DATE确定。

本例中,ZYDH为主索引关键字,csrq为次索引关键字,因为两个关键字的类型不一致,所以才需要将日期型字段进行转换 *** 作后,才可以做为组合关键字使用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12829889.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存