我知道这是一个业余问题,但我已经搜索了我能想到的每一种资源,现在我已经知道了。以下查询适用于我的大多数表,但由于某种原因,它不能处理我迫切需要它的表:
SELECT COUNT(*)
FROM radio_r1_own_it
WHERE daypart LIKE 'AM';
该查询完全符合我对几乎所有表的要求,但由于某种原因,它返回的值为" 0"在我需要它的表格上(尽管在该表的" daypart"列中有超过20个" AM"的实例)。我检查并仔细检查了我能想到的一切。
我对SQL比较新,但我之前从未遇到过这样的问题。任何人都有任何可能有帮助的想法或资源?非常感谢您的时间!
编辑:我没有足够的声望点在这里发布屏幕截图...但是这里有一个链接,你可以看到一个:http://imgur.com/ZhyEqJY
此表格中有29列。如果有任何其他信息可能有帮助,请告诉我,谢谢!
答案 0 :(得分:1)
您需要添加如下所示的相似部分:
where column_name like '%AM%'
当你写like 'AM'
时,它正在搜索完整匹配
答案 1 :(得分:0)
LIX语句在sql中确实很慢。如果你有一个时段,那么我假设你有一个日期列。我推荐这样的东西:
SELECT COUNT(*)
FROM radio_r1_own_it
WHERE HOUR(dateColumn) < 13
答案 2 :(得分:0)
除非您匹配的字符串正好是AM
,否则您需要使用通配符来匹配字符串:
SELECT COUNT(*) FROM radio_r1_own_it WHERE daypart LIKE '%AM%';
%
匹配AM
之前和之后的任意数量的字符。
有关详细信息,请参阅the documentation。
答案 3 :(得分:0)
试试这个。
SELECT COUNT(*) FROM radio_r1_own_it WHERE daypart LIKE '%AM%';
如果您想使用计数来订购,
SELECT COUNT(*) FROM radio_r1_own_it WHERE daypart LIKE '%AM%' ORDER BY COUNT(*) DESC;
DESC - 降序
ASC - 升序