【问题标题】:Mysql how to get the total of feedbacks? [closed]mysql如何得到反馈的总数? [关闭]
【发布时间】:2019-08-10 09:09:52
【问题描述】:

我正在为使用 Laravel 和 MySQL 的产品制作反馈星级评分系统, 如何让 MySQL 计算所有评分并获得 5 星的平均值?

因此,通过 laravel,我将只使用 get() 来获得平均值。

//sample data:

id | rate
1     4
2     2

//expected output:

3

【问题讨论】:

  • 放一些具有预期输出的样本数据。

标签: mysql sql laravel


【解决方案1】:

为了更准确地回答,应该知道表格的结构。 您可以将所需的行分组,然后除以数字。像这样:

SELECT SUM(rate)/COUNT(1) FROM table GROUP BY 1

或带有AVG功能

SELECT AVG(rate) AS avgRate
FROM table
GROUP BY xyz;

https://dev.mysql.com/doc/refman/8.0/en/group-by-functions.html#function_avg

DB::table('your_table')
                ->avg('star');

【讨论】:

  • 我在哪里可以在 phpmyadmin 中存储这一行?
  • @wailhayaly 这不是 phpmyadmin 的用途。
  • 我不明白这个问题。 sql语句可以直接在SQL窗口中执行。
  • 您可以在 phpMyAdmin 中测试此语句,但您必须将其集成到您的 php 代码中。
  • @Strawberry 我想我可以使用 avg 函数和 laravel 来检索平均值,谢谢。
【解决方案2】:

你可以这样做,

$rateAvg = Model::avg('rate');

查看此链接了解更多

How to get average of column values in laravel

Aggregates in laravel

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多