Вам не хватает выходных значений для выражения IF
. Также вам следует использовать CURRENT_DATE()
, поэтому вам не нужно преобразовывать в DATE
:
SELECT
SUM(IF(DATE(timedate) = CURRENT_DATE() - INTERVAL 1 DAY, 1, 0)) AS testcount1,
SUM(IF(DATE(timedate) = CURRENT_DATE() - INTERVAL 2 DAY, 1, 0)) AS testcount2
FROM
orders
Обратите внимание, что MySQL обрабатывает логические выражения как 1
(true
) или 0
(false
) в числовом c контексте, так что вы можете SUM
выражение без необходимости IF
:
SELECT
SUM(DATE(timedate) = CURRENT_DATE() - INTERVAL 1 DAY) AS testcount1,
SUM(DATE(timedate) = CURRENT_DATE() - INTERVAL 2 DAY) AS testcount2
FROM
orders