把排序的部分显示出来,应该比较好理解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
我知道 title_id 为 'PS7777' 的数据排最前面,然后按stor_id倒序排列输出结果集。 但为什么是这样呢,麻烦大家解释清楚点,这个语句是怎么执行的,order by case 在 这里怎么样理解,主要想知道原理。
对于每条记录计算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
但为什么是这样呢,麻烦大家解释清楚点,这个语句是怎么执行的,order by case 在
这里怎么样理解,主要想知道原理。
对于第一次计算值相同的行,计算stor_id 的值,然后倒排序