MYSQL 中的 Php 聚合函数不起作用

发布于 2024-08-18 09:27:07 字数 812 浏览 6 评论 0原文

$result = mysql_query("SELECT avg(r.rate) FROM rate r where ImgName='1'");

这个 php 不工作。

最初我的代码是

<?php
$con = mysql_connect("localhost","root","sql");

if (!$con)
{
    die('Could not connect: ' . mysql_error());
}

mysql_select_db("photogallery", $con);

$result = mysql_query("SELECT avg(r.rate) FROM rate r ");
echo "<table border='0' cellspacing='5'>";
echo "<th> Average Rating </td>";

while($row = mysql_fetch_array($result))
{
    echo "<tr>";
    echo "<td> " . $row['rate'] . "</td>";
    echo "</tr>";
}

echo "</table>";

mysql_close($con);
?> 

上面没有显示任何输出。

但修改代码即可工作。

$result = mysql_query("从利率 r 中选择 r.rate");

但我想聚合函数

提前致谢

$result = mysql_query("SELECT avg(r.rate) FROM rate r where ImgName='1'");

this php is not working.

Originally my code is

<?php
$con = mysql_connect("localhost","root","sql");

if (!$con)
{
    die('Could not connect: ' . mysql_error());
}

mysql_select_db("photogallery", $con);

$result = mysql_query("SELECT avg(r.rate) FROM rate r ");
echo "<table border='0' cellspacing='5'>";
echo "<th> Average Rating </td>";

while($row = mysql_fetch_array($result))
{
    echo "<tr>";
    echo "<td> " . $row['rate'] . "</td>";
    echo "</tr>";
}

echo "</table>";

mysql_close($con);
?> 

the above is not showing any out put.

but modify code i.e. then its workin.

$result = mysql_query("SELECT r.rate FROM rate r ");

but i want to aggregate function

thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

茶色山野 2024-08-25 09:27:07

您可以使用别名:

SELECT avg(r.rate) AS rate_average
  FROM rate r
 WHERE ImgName='1'

然后输出:

echo "<td> " . $row['rate_average'] . "</td>";

you can use an alias:

SELECT avg(r.rate) AS rate_average
  FROM rate r
 WHERE ImgName='1'

and then output:

echo "<td> " . $row['rate_average'] . "</td>";
江心雾 2024-08-25 09:27:07

您的查询生成一个标量而不是一组行。如果您想获得每个项目的平均速率,那么您应该执行以下操作:

SELECT avg(r.rate) FROM rate r GROUP BY ItemIdColumn

是的,如果您想按列名称获取值,您应该使用别名,如 knittl 提到的。

Your query is producing a scalar rather than a set of rows. If you want to get the average rate per item then you should do something like:

SELECT avg(r.rate) FROM rate r GROUP BY ItemIdColumn

And yes, if you want to fetch the value by column name, you should use an alias, like knittl mentioned.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文