之前項目需求中遇到一個復雜排序使用到了order by case when,由於新來的后端不懂,所以我自己研究了下,見之前博客:查詢排序:order by case when理解、在order By子句中使用case語句的理解
其實當時看到這篇博客(ORDER BY 高級用法之CASE WHEN),對於后面2個case when的情況一直有疑問,並且他的查詢結果配圖感覺也有問題,所以今天自己來研究下 2 個case when的情況。
第一種情況:的確如之前描述:3 在第一,10在第二,剩下的隨機排
第二種情況:在case when前加 seq asc,發現好像就是按 seq 排序的,跟后面的case when沒關系
第三種情況:在case when之后加 seq asc,這時出的排序就與case when有關系了
大體情況就是這樣,了解了查詢結果集,但是具體原因不大清楚,感覺是與order by的順序有關的