簡體   English   中英

如何按兩列對MySQL排序?

[英]How to sort MySQL by two columns?

我和幾個朋友做了一個音樂博客,並做了一個MySQL表來跟蹤帖子的瀏覽量。 我有一欄記錄每個帖子的管理員視圖,一欄記錄每個帖子的用戶視圖。

我正在制作一個頁面,以方便地按大多數管理員視圖,大多數用戶視圖和總視圖進行查看和排序。 我沒有在MySQL數據庫中為“總視圖”創建一列(要進行計算,我只是將管理視圖添加到用戶視圖中。簡單明了)。

我可以通過查詢SELECT * FROM log ORDER BY ADMIN DESC和用戶視圖的查詢來輕松按管理員視圖進行排序,但是有沒有一種簡單的方法來執行SELECT * FROM log ORDER BY ADMIN + USER DESC 如果沒有,我將不得不弄亂我的代碼以提供自己的排序算法。

提前謝謝。

該查詢與您所說的完全相同:

SELECT  *
FROM    log
ORDER BY
        admin + user DESC

如果為總視圖創建了單獨的列並將其編入索引,則可以在查詢中使用它:

SELECT  *
FROM    log
ORDER BY
        total_views DESC
LIMIT   10

這將提高有限查詢的SELECT速度。 即使您僅選擇前10條評論,也應掃描整個表並對其進行排序。

如果您打算將總視圖用於除排序之外的所有操作,則建議:

SELECT *,(`admin`+`user`) as `total` FROM `log` ORDER BY `total` DESC

這將在結果中添加一個“總計”字段,您可以在計算中顯示或使用該字段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM