仅通过MySQL实现

时间:2018-08-18 20:25:53

标签: php mysql database mysqli

$query = "SELECT stake, cuota, ID FROM tips WHERE ID = 1";

我的桌子

+------------------------+------+-----+---------+
| id                     |stake |cuota| ID      | 
+------------------------+------+-----+---------+
| 1                      |3.250 |5.00 | 1       | 
| 2                      |3.000 |5.00 | 1       |
+------------------------+------+-----+---------+

一切都可以在PHP中完美运行。

但是我想在查询中使用mysql。

我希望在MySQL中使用它而不必使用PHP->此结果* 21.25 *

$sum = 0;
foreach ($fromMysql as $row):
$sum+= $row['stake'] * $row['cuota'] - $row['stake'];  
/*individual sum.  first = 11.25 and second = 10.00*/
endforeach;
echo $sum; /* = 21.25 */

2 个答案:

答案 0 :(得分:1)

首先,我对PHP不太熟悉,因此我可能无法正确理解您的问题,但是据我了解,结果应该是25,而不是21.25。

无论如何,在MySQL中,您应该执行以下操作:

SELECT SUM(stake * cuota - stake) FROM [your_table]

此查询将给您25的结果。 要查询预期结果(21.25),可以执行以下操作:

SELECT SUM(stake * cuota - cuota) FROM [your_table]

答案 1 :(得分:-1)

据我所知这是不可能的,并且不应该在sql中完成,因为它是一种数据查询语言,而不是用于计算价格的语言。

我认为使用您当前拥有的解决方案是完全可以的

foreach ($fromMysql as $row) {
    $sum+= $row['stake'] * $row['cuota'] - $row['stake'];
}  

这看起来更干净