Php MySQL中的按速率排序

Php MySQL中的按速率排序,php,mysql,rate,Php,Mysql,Rate,在my db中有2个表: 产品表: --------------- id | title --------------- 1 Toyoto 2 Lexux ---------------------------------------- rating_id | rating | id | ip ---------------------------------------- 1 l 1 127.0.0.1 2

在my db中有2个表:

产品表:

---------------
 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
-----------------------------------------
评级表:

---------------
 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
(like)和1个
d
(loke)。所以我想按喜欢和不喜欢(喜欢和不喜欢之和)对所有产品进行排序。最后一次输出将是:

Toyouto 3 votes and  Lexux 1 vote.
订单:

1. Toyoto
2. Lexux
请看小提琴

如果您还想显示排名编号,可以使用:

SELECT @rank:=@rank+1 as rank, title
FROM (
  SELECT
    products.title
  FROM
    products INNER JOIN ratings
    ON products.id = ratings.id
  GROUP BY
    products.id,
    products.title
  ORDER BY
    SUM(ratings.rating='l')-SUM(ratings.rating='d')
  ) s, (SELECT @rank:=0) r

小提琴是。

一瞬间的可能复制品,仅显示产品,这些产品具有比率。如何做,显示未评级(投票)的产品@serikshaikamalov您可以使用左连接而不是内部连接,它将返回所有产品