php - 用逗号求和 mysql 列中的值

标签 php mysql database

我是一名 php 初学者,尝试对 mysql 数据库表中的特定列进行聚合,但此列中有逗号分隔的值,因此结果不正确。 这是表格列的示例

第 1 列

12,345.67

123,456.78

第2列

12,345.67

123,456.78

第3列

12,345.67

123,456.78

第4列

12,345.67

123,456.78

请在下面找到我的代码,如果我要使用解决方案,请提供如何使用它的建议。

<?php 
$query=mysql_query("select * from mytable")or die(mysql_error());
while($row=mysql_fetch_array($query)){
?>
<tr>
<td><?php echo $row['column1'] ?></td>
<td><?php echo $row['column2'] ?></td>
<td><?php echo $row['column3'] ?></td>
<td><?php echo $row['column4'] ?></td>
</tr>
<?php } ?>
</tbody>
</table>
<?php
$result = mysql_query("SELECT sum(column1 + column2 + column3 + column4) FROM mytable") or die(mysql_error());
while ($rows = mysql_fetch_array($result)) {
?>
<div>
&nbsp;Total:&nbsp;<?php echo $rows['sum(column1 + column2 + column3 + column4)']; ?></div>
<?php }
?>
<?php }
?>

最佳答案

为了使 mysql 正确运行聚合,您需要指定要求和的每个字段,而不是使用 SELECT *。

例如 <?php $query=mysql_query("select Order_Name, SUM(ORDER_VALUE), SUM(ORDER_COUNT) SUM(ORDER_TAX+ORDER_SHIPPING AS 'fees') from mytable...

如果由于 CSV 源数据中存在逗号而导致聚合不起作用,那么您可能需要将数据库字段设置为正确的类型,如果您只使用 FLOAT 或 DOUBLE,则可能需要将其设置为 FLOAT 或 DOUBLE想要 2 位小数。

关于php - 用逗号求和 mysql 列中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43358438/

相关文章:

mysql - 删除第n行mysql

mysql - VB : Fill multiple textboxes with data from MySQL DB

PHP读取数据库表长

php - 使用php和mysql的多关键字搜索表单

php - SCORM 与 PHP/Yii 的集成

php - 如何使用 PHP 表单在 MySQL 表中添加多列?

php - PDO mySQL 中的命名占位符导致服务器错误

php - jQuery.get() 方法不想工作

mysql - Xampp无法连接到MYsql数据库或ProFTPD

php - 使用嵌套集模型在 sqlite 中存储分层数据如何将一个类别移动到另一个类别