MySQL中按照多字段排序及問題解決
因為在做一個項目需要篩選掉一部分產(chǎn)品列表中的產(chǎn)品,使其在列表顯示時排在最后,但是所有產(chǎn)品都要按照更新時間排序。
研究了一下系統(tǒng)的數(shù)據(jù)庫結(jié)構(gòu)后,決定將要排除到后面的產(chǎn)品加為粗體,這樣在數(shù)據(jù)庫中的“ifbold”就會被標(biāo)記為1,而其他產(chǎn)品就默認(rèn)標(biāo)記為0,然后就打算使用MySQL在Order By時進(jìn)行多字段排序。
Order by的多條件分割一般使用英文逗號分割,所以我測試的SQL如下:
select * from {P}_product_con where $scl order by 'ifbold' asc,$myord desc limit $pagelimit"
但是運行后沒有將”ifbold“正序,但是單純正序”ifbold“卻正常,調(diào)試了N久,無意中在phpMyAdmin中運行卻發(fā)現(xiàn)正常,仔細(xì)比對后發(fā)現(xiàn)問題原來是來自于”ifblod“的引號上。改為下列語句就正常了:
select * from {P}_product_con where $scl order by `ifbold` asc,$myord desc limit $pagelimit
所以以后大家再程序中寫SQL語句時也要注意引號的問題哦!
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
- Mysql中的排序規(guī)則utf8_unicode_ci、utf8_general_ci的區(qū)別總結(jié)
- 讓MySQL支持中文排序的實現(xiàn)方法
- mysql如何根據(jù)漢字首字母排序
- Mysql row number()排序函數(shù)的用法和注意
- Mysql select in 按id排序?qū)崿F(xiàn)方法
- 兩種mysql對自增id重新從1排序的方法
- 數(shù)據(jù)庫查詢排序使用隨機(jī)排序結(jié)果示例(Oracle/MySQL/MS SQL Server)
- MySQL查詢優(yōu)化:連接查詢排序limit(join、order by、limit語句)介紹
- Mysql利用group by分組排序
- MySQL中一些鮮為人知的排序方式
相關(guān)文章
實例解析MySQL中的存儲過程及存儲過程的調(diào)用方法
存儲例程是存儲在數(shù)據(jù)庫服務(wù)器中的一組sql語句,通過在查詢中調(diào)用一個指定的名稱來執(zhí)行這些sql語句命令,下面就以實例解析MySQL中的存儲過程及存儲過程的調(diào)用方法:2016-05-05Mysql詳細(xì)剖析數(shù)據(jù)庫中的存儲引擎
這篇文章詳細(xì)剖析了數(shù)據(jù)庫中的存儲引擎,存儲引擎是數(shù)據(jù)庫中非常關(guān)鍵的部分,有感興趣的小伙伴可以參考閱讀本文2023-03-03mysql獲取當(dāng)前日期年月的兩種實現(xiàn)方式
這篇文章主要介紹了mysql獲取當(dāng)前日期年月的兩種實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07MySQL InnoDB 鎖的相關(guān)總結(jié)
這篇文章主要介紹了MySQL InnoDB 鎖的相關(guān)知識總結(jié),幫助大家更好的理解和使用MySQL,感興趣的朋友可以了解下2021-02-02