SELECT title_id, 'Profit'=price*ytd_sales
FROM titles
ORDER BY 'Profit' desc
--〉
SELECT title_id, 'Profit'=price*ytd_sales
FROM titles
ORDER BY price*ytd_sales desc这里不是desc有理解问题,而是
ORDER BY 'Profit' desc
的'Profit'是字符串常量,而不是你需要的字段名

解决方案 »

  1.   


    ORDER BY price desc
    单是以price排序,不受ytd_sales的影响
      

  2.   

    1,2是一样的,order by是对结果集排序,因此是按照 price*ytd_sales 降序排列
      

  3.   

    晕,看错了,第一个是Profit,第二个是price
      

  4.   

    no
    第一个是常量,第二个时price
      

  5.   

    --建表:create table #a(ID int,num int,num1 numeric(8,2))
    --插入数据
    insert into #a select 1,3,0.2
    union select 2,4,0.1
    union select 3,5,0.2
    union select 4,6,0.05--以num排序:
    select ID,num,price=num*num1 from #a order by num desc
    --结果:
    ID   num  price
    4     6 .30
    3     5 1.00
    2     4 .40
    1     3 .60--以price排序
    select ID,num,price=num*num1 from #a order by price desc
    ID  num  price
    3    5 1.00
    1    3 .60
    2    4 .40
    4    6 .30 --可以看出结果不同
      

  6.   

    --to: dut(到哪里都是菜鸟) 
    --测试过再说话declare @t table(a int,b int)
    insert @t select 2,1
    union all select 1,20select a,'ab'=a*b
    from @t
    order by 'ab' descselect a,'ab'=a*b
    from @t
    order by ab descselect a,'abc'=a*b
    from @t
    order by 'ab' descselect a,'ab'=a*b
    from @t
    order by a desc
      

  7.   

    1.谢谢各位的回答!偶知道是临时例名而已!这里不是desc有理解问题,而是
    ORDER BY 'Profit' desc
    的'Profit'是字符串常量,而不是你需要的字段
    但它的结果跟1一样!如果没有'Profit'=price*ytd_sales,单对price排序这偶可以理解!ORDER BY price desc
    单是以price排序,不受ytd_sales的影响
      

  8.   

    如果没有'Profit'=price*ytd_sales,排序字段还会相同吗?所以没有可比性,排序字段不同.
    第一个是常量,第二个时price
      

  9.   

    TO:yjdn(无尽天空)
     
       1.谢谢,但仍不解!呵呵...     price=num*num1 等同 'Profit'=price*ytd_sales
         
         num 等同 price   
      2.有啥区别?
      

  10.   

    怎么你还是不明白呢?USE pubs
    GO
    SELECT title_id, 'Profit'=price*ytd_sales
    FROM titles
    ORDER BY 'Profit' desc  --这里Profit是被理解为字段名,不是字符串.
    GO
      

  11.   

    TO:zjcxc(邹建)   
       1.这个偶知道,呵呵...     ORDER BY 'Profit' desc  --这里Profit是被理解为字段名,不是字符串.   2.偶不理解ORDER BY price desc之执行结果!
         (如果说15*1000<10*3000,假设15,10是price值,1000,3000为ytd_sales值,那么按
          price降序,其结果还会同1吗?)
       
       3.点解?
      

  12.   

    ORDER BY price desc 只是按price排序,与ytd_sales值没有任何关联
      

  13.   

    TO:zjcxc(邹建)    1.如果说ytd_sales值跟price没有任何关联,那为什么1,2的结果排序是一样的?
      
         ORDER BY price desc 只是按price排序,与ytd_sales值没有任何关联
         邹老大该说的都说了
      
      2.打破沙锅问到底,呵呵...
      

  14.   

    USE pubs
    GO
    SELECT title_id, 'Profit'=price*ytd_sales
    FROM titles
    ORDER BY ytd_sales desc
    GO它的结果排序就不同1?USE pubs
    GO
    SELECT title_id, 'Profit'=price*ytd_sales
    FROM titles
    ORDER BY price desc
    GO它的结果排序就同1.
      

  15.   

    USE pubs
    GO
    --1.
    SELECT title_id, 'Profit'=price*ytd_sales
    FROM titles
    ORDER BY 'Profit' desc
    GO--2.
    SELECT title_id, 'Profit'=price*ytd_sales
    FROM titles
    ORDER BY price desc
    GO/*--结果title_id Profit                
    -------- --------------------- 
    PC1035   201501.0000
    TC4203   180397.2000
    PC8888   81900.0000
    BU1032   81859.0500
    BU7832   81859.0500
    PS3333   81399.2800
    MC3021   66515.5400
    TC7777   61384.0500
    BU2075   55978.7800
    BU1111   46318.2000
    MC2222   40619.6800
    PS7777   26654.6400
    PS2091   22392.7500
    PS1372   8096.2500
    TC3218   7856.2500
    PS2106   777.0000
    MC3026   NULL
    PC9999   NULL(所影响的行数为 18 行)title_id Profit                
    -------- --------------------- 
    PC1035   201501.0000
    PS1372   8096.2500   --结果一样吗?
    TC3218   7856.2500
    PC8888   81900.0000
    BU1032   81859.0500
    BU7832   81859.0500
    MC2222   40619.6800
    PS3333   81399.2800
    TC7777   61384.0500
    TC4203   180397.2000
    BU1111   46318.2000
    PS2091   22392.7500
    PS7777   26654.6400
    PS2106   777.0000
    BU2075   55978.7800
    MC3021   66515.5400
    MC3026   NULL
    PC9999   NULL(所影响的行数为 18 行)--*/
      

  16.   

    1.晕死!眼睛进水了!2.是书误导了偶,还是偶把书理解错了?3.不得不佩服 zjcxc(邹建)大哥!呵呵...