Mysql MariaDB SELECT查询未返回正确的结果
当我运行以下查询时,我遇到了一个问题,即将结果从MariaDB从属服务器上的表返回到MySQL DB:Mysql MariaDB SELECT查询未返回正确的结果,mysql,sql,mariadb,Mysql,Sql,Mariadb,当我运行以下查询时,我遇到了一个问题,即将结果从MariaDB从属服务器上的表返回到MySQL DB: 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;
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;
我得到一个结果,其中17行包含colZ
中的GM
,然后期望任何匹配的Y
值(如果有)
所以问题是:为什么这7条记录在初始查询中没有返回?我已尝试将第一个查询更改为colZ IN('GM')
,将第二个查询更改为colZ='GM'或colZ='NS'
,但两者仍然返回相同的结果
第二个查询中显示的另外7行与第一个查询中显示的行相比没有明显的差异
更奇怪的是,当我在主mySQL数据库上运行相同的查询时,它们都会像预期的那样返回17行。dateas integer?!?吓人。向我们展示示例表数据、当前结果和预期结果-以及格式良好的文本。@jarlh我已经更新了问题以包括图像,注意PK值绝对是唯一和正确的,我只是删除了它们并更改了列名。该日期为中的日期格式table@jarlh这并不总是可怕的,如果你运行dwh,这是正常的。。。然而,你必须知道自己在做什么以及为什么,否则是的,这很可怕;)@公民愤怒,请粘贴
SHOW CREATE TABLE t的输出代码>以t显示索引代码>EXPLAIN EXTENDED SELECT*FROM t,其中colZ='GM'和hour(colTime)=18,colDate=20170306代码>解释扩展选择*从t开始,其中colZ IN('GM','NS')和hour(colTime)=18,colDate=20170306代码>日期为整数?!?吓人。向我们展示示例表数据、当前结果和预期结果-以及格式良好的文本。@jarlh我已经更新了问题以包括图像,注意PK值绝对是唯一和正确的,我只是删除了它们并更改了列名。该日期为中的日期格式table@jarlh这并不总是可怕的,如果你运行dwh,这是正常的。。。然而,你必须知道自己在做什么以及为什么,否则是的,这很可怕;)@公民愤怒,请粘贴SHOW CREATE TABLE t的输出代码>以t显示索引代码>EXPLAIN EXTENDED SELECT*FROM t,其中colZ='GM'和hour(colTime)=18,colDate=20170306代码>解释扩展选择*从t开始,其中colZ IN('GM','NS')和hour(colTime)=18,colDate=20170306代码>