Ticketa
Registered
Искам да изведа за последните 12 месеца общата сума(сумирана) записана в базата дани, като използвам следния PHP
Извеждам следния резултат:
select sum(cash) as sumcash FROM turnover WHERE `month`='01-03-2018' and `month`='01-04-2018' and `month`='01-05-2018' and `month`='01-06-2018' and `month`='01-07-2018' and `month`='01-08-2018' and `month`='01-09-2018' and `month`='01-10-2018' and `month`='01-11-2018' and `month`='01-12-2018' and `month`='01-01-2019' and `month`='01-02-2019' AND
Реално самият код сам по себе си - не работи. Не ми сумира всеки един ден/месец в обща сума. Трябва да изведа например тотал: 30,000$ .. а то извежда 1,500$ й то ... ако махна думичката AND в края. Някакви предложения? Опитах различни варианти от stackover - но без резултат.
Опитах и чрез заявка:
[sql]SELECT SUM(cash) as countcash FROM turnover
WHERE data < Now() and data > DATE_ADD(Now(), INTERVAL- 12 MONTH);[/sql]
Обаче, отново не сработва. Дата ми е записана в колона "data" - "ден-месец-година"
[sql]SELECT SUM(cash) as countcash FROM turnover WHERE data BETWEEN CURDATE() - INTERVAL 12 MONTH AND CURDATE();[/sql]
[sql]SELECT MONTH(month) AS MONTH, ROUND(SUM(cash)) AS TOTAL_PTS FROM turnover WHERE MONTH(month) BETWEEN MONTH(CURDATE() - INTERVAL 12 MONTH) AND MONTH(CURDATE()) GROUP BY MONTH [/sql]
[sql]SELECT data, ROUND(SUM(cash)) as cashsum FROM turnover WHERE data <= DATE_FORMAT(CURDATE(), '01-%m-%Y') AND data >= DATE_FORMAT(CURDATE(), '01-%m-%Y') - INTERVAL 6 MONTH [/sql]
Warning: #1292 Incorrect datetime value: '01-03-2019'
Код:
$i = 12;
while ($i > 0) {
$ym .= "`month`='".@date('01-m-Y', strtotime("-$i month"))."' and ";
//$yms[$ym] = $ym;
$i--;
}
echo 'select count(cash) as sumcash FROM turnover WHERE '.$ym.';';
Извеждам следния резултат:
select sum(cash) as sumcash FROM turnover WHERE `month`='01-03-2018' and `month`='01-04-2018' and `month`='01-05-2018' and `month`='01-06-2018' and `month`='01-07-2018' and `month`='01-08-2018' and `month`='01-09-2018' and `month`='01-10-2018' and `month`='01-11-2018' and `month`='01-12-2018' and `month`='01-01-2019' and `month`='01-02-2019' AND
Реално самият код сам по себе си - не работи. Не ми сумира всеки един ден/месец в обща сума. Трябва да изведа например тотал: 30,000$ .. а то извежда 1,500$ й то ... ако махна думичката AND в края. Някакви предложения? Опитах различни варианти от stackover - но без резултат.
Опитах и чрез заявка:
[sql]SELECT SUM(cash) as countcash FROM turnover
WHERE data < Now() and data > DATE_ADD(Now(), INTERVAL- 12 MONTH);[/sql]
Обаче, отново не сработва. Дата ми е записана в колона "data" - "ден-месец-година"
[sql]SELECT SUM(cash) as countcash FROM turnover WHERE data BETWEEN CURDATE() - INTERVAL 12 MONTH AND CURDATE();[/sql]
[sql]SELECT MONTH(month) AS MONTH, ROUND(SUM(cash)) AS TOTAL_PTS FROM turnover WHERE MONTH(month) BETWEEN MONTH(CURDATE() - INTERVAL 12 MONTH) AND MONTH(CURDATE()) GROUP BY MONTH [/sql]
[sql]SELECT data, ROUND(SUM(cash)) as cashsum FROM turnover WHERE data <= DATE_FORMAT(CURDATE(), '01-%m-%Y') AND data >= DATE_FORMAT(CURDATE(), '01-%m-%Y') - INTERVAL 6 MONTH [/sql]
Warning: #1292 Incorrect datetime value: '01-03-2019'