当我运行以下查询时,我有一个问题将结果从MariaDB从属服务器上的表返回到我的MySQL数据库:
SELECT * FROM t WHERE colZ = 'GM' AND hour(colTime) = 18 AND colDate = 20170306;
我得到的结果显示符合条件的10行
但是当我跑步时:
SELECT * FROM t WHERE colZ IN ('GM','NS') AND hour(colTime) = 18 AND colDate = 20170306;
我在GM
中得到包含colZ
的17行的结果,然后预期匹配的Y
值(如果有的话)。
所以问题是:为什么这7条记录没有在初始查询中返回?我尝试将第一个查询更改为colZ IN ('GM')
,将第二个查询更改为colZ = 'GM' or colZ = 'NS'
,两者仍然返回相同的结果。
第二个查询中显示的7个额外行与第一个查询中的行相比没有可察觉的差异。
即使更奇怪,当我在主mySQL DB上运行相同的查询时,都会按预期返回17行。