今天在做一個2次開發的時候,出現一個需求,
需要在商品分類頁裡面帶一個參數,也就是商品ID,
如果分類鏈接裡面有這個ID的時候就需要把這個商品排在分類商品列表的第1個,
原來的思路是,選擇分類後,在PHP裡面修改,把那個商品修改到第一個來,想想也挺麻煩的,
最後想想還有沒有其它辦法呢,出去走走後,就想,如果mysql幫我們排了的話,多方便呀。
那麼mysql 排序在怎麼用呢,ORDER BY + 字段 + 排序方式,這個不管怎麼排也實現不了呀,
在一想能不能像where一樣用呢,管他的,試試
說了這麼多,怕有人看不懂,直接給需求來個圖:
使用前:
SELECT `goods_id` FROM `sdb_goods` LIMIT 0 , 30
使用後
SELECT `goods_id` FROM `sdb_goods` ORDER BY `goods_id` = 4 DESC LIMIT 0 , 30
`goods_id` = 4 的商品真排上來了,這個樣子就省事情了,哈哈
咱們再來完善下,
SELECT `goods_id` FROM `sdb_goods` ORDER BY `goods_id` = 4 DESC, `goods_id` ASC LIMIT 0 , 30
真沒有想到,mysql還可以這樣,威武!