$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 */
Во-первых, я не очень хорошо знаком с PHP, поэтому я, возможно, не понимаю вашу проблему, но, как я понимаю, результат должен быть 25 вместо 21.25.
В любом случае, в MySQL
вы должны сделать что-то вроде этого:
SELECT SUM(stake * cuota - stake) FROM [your_table]
Этот запрос даст вам результат 25. Чтобы получить запрос с ожидаемым результатом (21.25), вы можете сделать:
SELECT SUM(stake * cuota - cuota) FROM [your_table]
SELECT SUM(stake * cuota - stake) FROM tips where resultado = 1
Насколько я знаю, это невозможно, и это не должно быть сделано в sql, так как это язык запросов данных, а не язык для расчета цен.
Я считаю, что использовать решение, которое у вас в настоящее время
foreach ($fromMysql as $row) {
$sum+= $row['stake'] * $row['cuota'] - $row['stake'];
}
Это может выглядеть немного чище
SUM()
которые делают именно это?