MySQL如何對時間戳字段按日期排序


需求:有一張域名瀏覽記錄表,有字段warning瀏覽次數,字段updatetime創建時間,現在需要獲取,按創建時間的降序,瀏覽量的降序,獲取域名列表。就是說,同一天創建的域名,如果誰的瀏覽量大,誰就在前面,如下:

 分析:因為本身updatetime是一個時間戳,所以我們可以在查詢SELECT時候,新增一個日期字段 datatime,SQL查詢如下:

SELECT id,`name`,warning,FROM_UNIXTIME(updatetime)as updatetime, FROM_UNIXTIME(updatetime,'%Y-%m-%d')as datatime FROM `pw_config_domain` ORDER BY datatime DESC,warning DESC; 

最后結果如下,id15和17為同一天,雖然17后創建,但是15的瀏覽量更大,所以在前:

 ps:如上做法,是通過查詢SELECT時候,新增一個字段,所以對於大量的查詢的時候,是無法使用索引的,所以。如果業務需求是面對大量查詢,還是需要新建一個 updatetime 字段,用來存儲創建日期。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM