Выберите сумму итогов, где дата лежит между двумя датами, не отображается - PullRequest
0 голосов
/ 28 июня 2018

Я пытаюсь сделать запрос, который должен дать мне сумму таблицы имен столбцов, где отметка времени находится между двумя датами.

Вот мой SQL-запрос:

$year_start = strtotime('2018-01-01');
$year_end = strtotime('2018-12-31 23:59:59.000');

$query = "SELECT SUM(total) FROM buchungen WHERE datum>='".$year_start."' AND 
datum<='".$year_end."'";

А потом я пытаюсь повторить результат так:

while($row = mysqli_fetch_assoc($result)){
echo $row["total"];

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Вы должны отформатировать дату в формате sql гггг-мм-дд чч: мм: сс.

Что-то вроде

$year_start = date("YYYY-mm-dd", strtotime('2018-01-01'));
0 голосов
/ 28 июня 2018

Запрос ожидает, что даты будут в тексте

$year_start = '2018-01-01';
$year_end = '2018-12-31 23:59:59.000;

$query = "SELECT SUM(total) 
          FROM buchungen 
          WHERE datum>='$year_start' 
          AND datum<='$year_end'";

Также в вашем тесте нет столбца с именем total, по умолчанию этот столбец будет называться SUM(total), если вы не переименуете столбец следующим образом

$year_start = '2018-01-01';
$year_end = '2018-12-31 23:59:59.000;

$query = "SELECT SUM(total) as total 
          FROM buchungen 
          WHERE datum>='$year_start' 
          AND datum<='$year_end'";
...