请问各位大虾,计算字段能不能用在SQL里order by后,实现排序作用,若不行,怎样对计算字段实行排序,多谢!!

解决方案 »

  1.   

    因为计算字段是在Delphi客户端生成的,在数据库中是没有的,所以不能用在Order by 中
      

  2.   

    不写在sql中
    这样行不行
    ADOQuery1.Sort := 'LastName ASC, DateDue DESC'
      

  3.   

    同意楼上的sort
    不过我觉得在sql中也可以的select * from table1 order by id
      

  4.   

    我刚刚测试通过 计算字段字段可以用在SQL里order by后进行排序
    to beata88(学习,学习,再学习!) 
    ADOQuery1.Sort := 'LastName ASC, DateDue DESC' 计算字段不可以
      

  5.   

    我有一表cj.db,表为Paradox表,设置了zcj为副索引,索引名为index,有字段sx,ty,yy,zcj(数学,体育,英语,总成绩),都为永久字段。其中设置zcj为计算字段,其FieldKind为ftCalculated,在table1的OnCalcFields事件里添加代码如下:
    table1zcj.value:=table1sx.value+table1ty.value+table1yy.value;我欲对zcj(总成绩)进行排序,尝试了两种方法。
    1,数据集控件采用Table,按副索引排序:
    table1.indexname:=’index’;
    2, 数据集控件采用Query:
    select * from cj
    order by zcj以上两种方法都没能实现对zcj(总成绩)进行排序。
    请各位大虾帮忙,怎样实现对计算字段zcj(总成绩)进行排序?
    解决之,马上给分!!!多谢!
      

  6.   

    不是很难呀
    select zcj=sc+ty+yy,* from cj order by zcj
      

  7.   

    没错, 可以排序的. 我刚用SQL Explorer试过. 你也可以试试.
    select Name, Area+Population as Test from country order by Test
    没问题的.
      

  8.   

    表cj.db,表为Paradox表,按总成绩进行排序,排序已成功,现希在Grid里能有一字段:
    ‘名次’,使之能对应排序结果按第一名到最后一名显示名次。
    请各位大虾帮忙,怎样实现这一字段?谢,成功即给分!!
      

  9.   

    select Name, A+B as 名次 from cj order by 名次
      

  10.   

    to:zousoft(凶狠汤),我的意思是按总成绩排序,且有一字段‘名次’,显示名次。
    例如:在Grid中显示为:
          姓名   名次   数学   英语   总成绩
          张三     1     90     85      175
          李四     2     80     80      160
    但‘张三’这条记录在cj.db中也许并不是第一条记录,即在Grid中显示的名次并不一定与该记录在cj.db中的位置一致,怎样实现呢?请帮忙解决,谢谢。
      

  11.   

    怎么没人回答呢?大家帮帮忙嘛,急用!!
    解答,马上给分!!
    help me!