繁体   English   中英

有没有更简单的方法可以在SQL和PHP中执行此查询

[英]Is there an easier way to do this query in SQL and PHP

例如,我有下表,其中包含用户对产品的评论

       tblreviews
ID  |   product  | review|

==========================

1   | pen        |   2   |

2   | pen        |   2   |

3   | ink        |   1   |

4   | ink        |   1   |

我想编写一个查询,将每个项目的值加起来,然后给我前5名,在此示例中,我需要提取数据:

  1. 产品:笔平均评价:2/5
  2. 产品:油墨平均评价:1/5

--

select sum (review) from tblreviews where product name= 'pen'
select count (pen) from tblreviews where product name= 'pen'

然后,我可以根据它们的结果来计算平均评论,但是我必须对表格中的每个产品进行此操作,然后再根据最高评论为我提供一个产品排名表,这就是我要尝试的结果得到。

这样做比较容易吗?

您可以使用分组依据

Select product, avg(review) as average
From tblreviews
Group by product
Order by average desc
Limit 5

平均评价排名前5的产品:

SELECT product, AVG(review) AS Average_review
 FROM tblreviews
 GROUP BY product
 ORDER BY Average_review DESC
 LIMIT 5

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM