因為在做乙個專案需要篩選掉一部分產品列表中的產品,使其在列表顯示時排在最後,但是所有產品都要按照更新時間排序。
研究了一下系統的資料庫結構後,決定將要排jgpkf除到後面的產品加為粗體,這樣在資料庫中的「ifbold」就會被標記為1,而其他產品就預設標記為0,然後就打算使用mysql在order by時進行多欄位排序。
order by的多條件分割一般使用英文逗號分割,所以我測試的sql如下:
複製** **如下:
sele程式設計客棧ct * from _product_con where $scl ord程式設計客棧er by 'ifbold' asc,$myord desc limit $pagelimit"
但是執行後沒有將」ifbold「正序,但是單純正序」ifbold「卻正常,除錯了n久,無意中在phpmyadmin中執行卻發現正常,仔細比對後發現問題原來是來自於」ifbl的引號上。改為下列語句就正常了:
複製** **如下:
select * from _product_con where $scl ord程式設計客棧er by `ifbold` asc,$myord desc limit $pagelimit
所以以後大家再程式中寫sql語句時也要注意引號的問題哦!
本文標題: mysql中按照多欄位排序及問題解決
本文位址:
mysql欄位按照拼音排序
我們的mysql使用latin1的預設字符集,也就是說,對漢字字段直接使用gbk內碼的編碼進行儲存,當需要對一些有漢字的字段進行拼音排序時 特別涉及到類似於名字這樣的字段時 預設無法通過order by關鍵字正確排序。經過網上查詢,網上的辦法大多是針對使用utf8字符集的資料庫,主要的方法有 1 直...
mysql欄位按照拼音排序
我們的mysql使用latin1的預設字符集,也就是說,對漢字字段直接使用gbk內碼的編碼進行儲存,當需要對一些有漢字的字段進行拼音排序時 特別涉及到類似於名字這樣的字段時 預設無法通過order by關鍵字正確排序。經過網上查詢,網上的辦法大多是針對使用utf8字符集的資料庫,主要的方法有 直接轉...
Lucene 排序及多字段查詢
預設情況下,indexsearcher類的search方法返回查詢結果時,是按文件的分值排序的,可以使用過載的search方法對結果排序 indexsearcher.search query,sort new sort 和 sort.relevance,以及null一樣,採用預設排序,要定義排序字段...