我有兩個表格,對於這個例子,我打算稱他們爲「內容」和「喜歡」。 「內容」包含多個條目(每個條目都像名言或某種性質)。兩個表,按num行排序;結合?
該網站允許用戶點擊一個類似的按鈕,因此,一個條目被插入到「likes」表中,其中來自「content」表的相應ID,因此可以追溯到。
我希望編寫一個查詢,將「內容」表的內容按「喜歡」表中的喜好數排序 - 這可能嗎?如果是這樣,怎麼樣?
非常感謝和節日快樂(第二部分適用即使問題仍然沒有得到解決)
我有兩個表格,對於這個例子,我打算稱他們爲「內容」和「喜歡」。 「內容」包含多個條目(每個條目都像名言或某種性質)。兩個表,按num行排序;結合?
該網站允許用戶點擊一個類似的按鈕,因此,一個條目被插入到「likes」表中,其中來自「content」表的相應ID,因此可以追溯到。
我希望編寫一個查詢,將「內容」表的內容按「喜歡」表中的喜好數排序 - 這可能嗎?如果是這樣,怎麼樣?
非常感謝和節日快樂(第二部分適用即使問題仍然沒有得到解決)
是的,它可能寫出這樣的查詢。
SELECT count(*) as total, content.*
FROM content, likes
WHERE content.id = likes.id
GROUP BY total
ORDER BY total desc
喜歡的東西:
SELECT c.*
FROM Content c, Likes l
WHERE c.Content_Id = l.Content_Id
GROUP BY c.Content_Id
ORDER BY COUNT(*) DESC
要顯示由喜歡的數量排序的報價可以成爲在數據庫上有點緊張的,每次運行一個查詢這樣。你有沒有考慮在引號表中添加一個只記錄喜歡數量的字段?
這樣的話,這樣的查詢就足夠了:
SELECT quote FROM content ORDER BY likes DESC;
這有點創建冗餘,但並不完全。只是一個可供選擇的考慮。
我現在正在這樣做,因爲我認爲它可能是激烈的,我猜在這種情況下,我會保留它。 – 2011-12-25 23:13:42
@KyleJenkins我不知道你是怎麼做的,但如果你還沒有這樣做,你應該使用'INSERT TRIGGER'。 – kba 2011-12-26 00:38:35
真的嗎?你能告訴我如何? – 2011-12-25 22:58:03
是的,看編輯 – abcde123483 2011-12-25 23:01:18