我有一个电话呼叫数据库,它有一个字段'方向',在呼叫发出方向(进入或退出)后被正确命名。我的问题是,当我搜索“in”或“out”呼叫时,这个数字是完全错误的。MySQL查询错误计数
实施例:
对于五月,
TOTAL呼叫(IN + OUT):13622
IN呼叫:12637个
OUT呼叫:985
SELECT `start`, `direction`, `ref_id`
FROM `call_list`
WHERE `did` = 'xxxx'
AND `start` >= '2013-05-01 00:00:00'
AND `start` < '2013-06-01 00:00:00'
上面是一个准确的计数基于将上述查询转储到CSV并实际查看列表。然而,当我在“方向”搜索添加,返回的数字是完全关闭:
SELECT `start`, `direction`, `ref_id`
FROM `call_list`
WHERE `did` = 'xxxx'
AND `start` >= '2013-05-01 00:00:00'
AND `start` < '2013-06-01 00:00:00'
AND `direction` = 'In'
...将导致13461总计数,并
SELECT `start`, `direction`, `ref_id`
FROM `call_list`
WHERE `did` = 'xxxx'
AND `start` >= '2013-05-01 00:00:00'
AND `start` < '2013-06-01 00:00:00'
AND `direction` = 'Out'
..yields一的11018.
总数因此,如果我组:
SELECT `direction`, count(*)
FROM `call_list`
WHERE `did` = 'xxxx'
AND `start` >= '2013-05-01 00:00:00'
AND `start` < '2013-06-01 00:00:00'
GROUP BY `direction`
...我得到正确的计数每一个是一切都很好,除了有时我需要分别在'In'或'Out'计数上运行查询,所以我的数字是关闭的。
'方向'列是varchar(3)utf8_unicode_ci。
如果有人可以说明为什么我收到bum count数字,我真的很感激它。
在此先感谢
你有记录,其中方向为空? – Aguardientico
nope,只有'In'和'Out' – JBarnes
你可以制作一个SQL小提琴吗? – exussum