2013-07-04 61 views
-1

在我的數據庫有2個表:ORDER BY率 - 的MySQL

產品表:

--------------- 
id | title 
--------------- 
1  Toyoto 
2  Lexux 

評級表:

---------------------------------------- 
rating_id | rating | id | ip 
---------------------------------------- 
    1   l  1 127.0.0.1 
    2   d  1 127.0.0.2 
    3   l  1 192.168.0.1 
    4   l  2 192.168.0.1 
----------------------------------------- 

所以日本豐田有2 l(如)和1 d(不喜歡)。所以我想通過喜歡和不喜歡的東西來分類所有產品(總和喜歡和不喜歡)。在最後的結果應該是:

Toyouto 3 votes and Lexux 1 vote. 

訂單:

1. Toyoto 
2. Lexux 
+2

歡迎StackOverflow上。請問一個具體的問題,並顯示你已經嘗試過。有關使用該網站的更多信息可以在這裏找到(http://stackoverflow.com/help) – paddy

+1

這是一個基本的連接和計數,對於任何SQL程序員來說都是開始。 SO不是學習如何編程的替代品,這是學校的目的。 – Barmar

+0

提示:利用'ratings'表上的'GROUP BY id'創建一個子查詢,它將喜歡和不喜歡記錄到一個總分中,然後將它與你的'product'表加入並進行排序。 – paddy

回答

2

您的查詢應該是這樣的

Select title,count(r.rating) as votes from product as p Inner join rating as r on p.id=r.id where r.rating=1 group by r.id

+0

什麼是r?是收視率表嗎? –

+0

@SerikShaikamalov對不起,錯字看到編輯。 –