把 title_id 为 'PS7777' 的数据排最前面,然后按stor_id倒序排列输出结果集。

解决方案 »

  1.   

    title_id ='PS7777' 排在第一行,其它title_id记录的按生序排,然后按stor_id降序排列输出结果集
      

  2.   

    结果集首先按照title_id排序,并将title_id的值为'PS7777'的这些结果排在前面,然后按照stor_id降序排列
      

  3.   

    把排序的部分显示出来,应该比较好理解select case title_id when 'PS7777' then 0 else 1 end,stor_id ,* 
    from sales order by case title_id when 'PS7777' then 0 else 1 end,stor_id desc
      

  4.   

    我知道 title_id 为 'PS7777' 的数据排最前面,然后按stor_id倒序排列输出结果集。
    但为什么是这样呢,麻烦大家解释清楚点,这个语句是怎么执行的,order by case 在
    这里怎么样理解,主要想知道原理。
      

  5.   

    对于每条记录计算case title_id when 'PS7777' then 0 else 1 end的值,然后按照得到的值进行第一次排序
    对于第一次计算值相同的行,计算stor_id 的值,然后倒排序