感谢为最大时间比较, 我已经对语法做了更改
SELECT count(*) FROM fax
WHERE ((date = CURDATE() and (time >='22:00' and time <= '23:59'))
or (date=CURDATE() + INTERVAL 1 DAY and (time >= '00:00' and time <= '7:00')))
and shift = 'GY'
and complete = 1
现在我的问题是移位的范围是今天晚上10点到汤姆7am。
但是,当更改日期
HELP在使用我的语法上面仍然得到错误的if语句MYSQL
IF YES(选择此)ELSE IF(选择此) 如何正确IF ELSE在使用MYSQL语句
SELECT count(*) FROM fax
IF
(date = CURDATE() and (time >='22:00' and time <= '23:59')
THEN
SELECT count(*) FROM fax
WHERE ((date = CURDATE() and (time >='22:00' and time <= '23:59'))
or (date=CURDATE() + INTERVAL 1 DAY and (time >= '00:00' and time <= '7:00')))
and shift = 'GY' and complete = 1
ELSE IF
(date = CURDATE() and (time >= '00:00' and time <= '7:00')
THEN
SELECT count(*) FROM fax
WHERE ((date = CURDATE() and (time >= '00:00' and time <= '7:00'))
or (date=CURDATE() - INTERVAL 1 DAY and (time >='22:00' and time <= '23:59')))
and shift = 'GY' and complete = 1
你从db中获得计数的方式是错误的。你应该选择计数,而不是记录来计算它们。 –
谢谢你。这是一个坏习惯。你可以检查我的答案下面我在这个声明中有另一个问题 – Newbie