当我使用多个OR语句将查询组合到一个sql语句中时,单个OR语句返回的记录数不会返回相同数量的记录。有没有人能给点建议?
例如:
$sql1 = SELECT * FROM table_1 WHERE x = '0';
$sql2 = SELECT * FROM table_1 WHERE y = '0';
$sql3 = SELECT * FROM table_1 WHERE z = '0';组合查询:
$sql_total = SELECT * FROM table_1 WHERE x='0' OR y='0' OR z = '0';我从sql_total返回的记录数量与通过将sql1、sql2和sql3返回的记录总数相加而返回的组合记录的数量不同。我哪里错了?
发布于 2017-01-23 20:01:00
您可能对以下查询的结果感兴趣:
select (x = '0') as xzero, (y = '0') as yzero, (z = '0') as zzero, count(*),
min(id), max(id)
from t
group by (x = '0'), (y = '0'), (z = '0');这将显示有许多行具有不同的条件组合为真。我包含了id以进行进一步的调查。
https://stackoverflow.com/questions/41805844
复制相似问题