2014-04-11 3 views
2

Я пытаюсь выбрать между двумя датами, как это:ВЫБРАТЬ между сегодня и вчера

SELECT p.Code, p.Name, sum(h.PA = 1) AS PA, sum(h.PB = 1) AS PB, 
    sum(h.PG = 1) AS PG, sum(h.GoedkeuringDoorNew = 'GF') AS GF, 
    sum(h.GoedkeuringDoorNew = 'SB') AS SB, sum(h.GoedkeuringDoorNew = 'VIA') AS VIA, 
    sum(h.Blanco) AS Blanco 
FROM psthostess p 
LEFT JOIN `psttodo-uit` h 
    ON h.`Hostess Code` = p.Code 
    AND DATE(h.`afgewerkt tablet datum`) BETWEEN CURDATE() 
    AND (CURDATE() - INTERVAL 1 DAY) 
WHERE p.Indienst = 1 GROUP BY p.Code, p.Name 

Но я не получаю никаких результатов.

Я хочу результаты сегодня и вчера. Но когда я это

SELECT * 
FROM `psttodo-uit` p 
WHERE DATE(p.`afgewerkt tablet datum`) = CURDATE() - INTERVAL 1 DAY 

или изменить CURDATE() - INTERVAL 1 DAY в CURDATE() я получаю результаты ... Как это происходит?

ответ

6
WHERE p.`afgewerkt tablet datum` >= CURDATE() - INTERVAL 1 DAY 
     AND p.`afgewerkt tablet datum` < CURDATE() + INTERVAL 1 DAY 

Предполагая, что текущую дату и время является: 11 апреля 2014 5:30 вечера, то дата и время вам нужно, между
10 апреля 2014 00:00:00 и 11 апреля 2014 23:59: 59 (включительно)

CURDATE() - INTERVAL 1 DAY => April 10, 2014 00:00:00 
CURDATE() + INTERVAL 1 DAY => April 12, 2014 00:00:00 
0
Select * from emp where joindate between SUBDATE(NOW(),1) and NOW(); 
+0

Спасибо за ваш ответ, но не могли бы вы предоставить некоторые комментарии относительно того, что он делает – Deanna

Смежные вопросы