我有这个select语句来返回两个日期之间的行数。它只返回一个而有四行。
SELECT count(*) as number
FROM PFServicesLogging
WHERE User_ID = '784198013531599'
AND ServiceType = 1
AND InsertDate between "2013-11-11" and "2013-11-19"
表结构是
CREATE TABLE `PFServicesLogging`
(
ID INTEGER NOT NULL,
ServiceType INTEGER NOT NULL,
Datetime DATETIME,
User_ID TEXT,
Frequency INTEGER, `InsertDate` Date,
PRIMARY KEY(ID)
)
答案 0 :(得分:1)
如果您的日期字段包含时间,请不要在两者之间使用。使用
where YourDateField >= StartDate
and YourDateField < TheDayAfterTheEndDate
编辑从这里开始
阅读评论,可能问题与日期无关。也许它是user_id或服务类型。要进行故障排除,请使用
替换where子句where 1 = 1
/*
User_ID = '784198013531599'
AND ServiceType = 1
AND InsertDate between "2013-11-11" and "2013-11-19"
*/
并运行您的查询。将您的过滤器逐个从评论块中取出,以便您可以看到哪一个导致意外结果。