我需要按主頁上問題的點贊數排序。我正在使用 php 和 mysql。我需要Sql查詢。
解釋 => 狀態 = 1 表示 -> 喜歡狀態 = 2 表示 -> 不喜歡
第一張表:
問題
| ID | 標題 | 題 | created_user_id | 創建日期 | 類別編號 |
|---|---|---|---|---|---|
| 1 | 標題 1 | 問題 1 | 1 | 2021/11/18 | 1 |
| 2 | 標題 2 | 問題2 | 1 | 2021/11/18 | 4 |
| 3 | 標題 3 | 問題 3 | 5 | 2021/11/18 | 4 |
第二個表:
喜歡
| ID | like_user_id | like_question_id | 地位 |
|---|---|---|---|
| 1 | 1 | 1 | 1 |
| 2 | 2 | 2 | 1 |
| 3 | 3 | 1 | 1 |
我希望它按主頁上的點贊數排序。如果該問題不受歡迎,則應在排名后位于底部。
例子 :
<Card> First -> should be the first question. because more likes </Card>
<Card> Second-> should be the second question. because the number of likes is 1 </Card>
<Card> Third-> should be the third question. because there are no likes </Card>
uj5u.com熱心網友回復:
我希望我正確理解了你的問題。您想根據喜歡的數量對問題表進行排序。您必須獲得每個問題的點贊數并將其與問題表結合起來。
SELECT q.*,l.num
FROM Questions q
LEFT JOIN
(SELECT COUNT(status) AS num,liked_question_id
FROM Likes
GROUP BY liked_question_id) l ON q.id = l.liked_question_id
ORDER bY num DESC
db<>fiddle 中的演示
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/359858.html
標籤:mysql sql 加入 数数 sql-order-by
下一篇:獲取SQL中單詞的幾個字母
