有人可以告诉我这里我做错了什么吗?
$query = "SELECT *
FROM routes
WHERE econ <> maxecon
ORDER BY `id`;";
没有WHERE
,它运行正常,所以我知道这就是问题。
我想选择列econ
不等于maxecon
的数据。在这个阶段这甚至是可能的还是我必须把它全部拿掉然后把它切掉?
答案 0 :(得分:4)
替换&lt;&gt;与!=工作?
$query = "SELECT * FROM routes WHERE econ != maxecon ORDER BY `id`";
此外,您不需要在sql语句中包含结束分号。
答案 1 :(得分:1)
您发布的内容看起来不错。您是否确实得到了两个值不同的示例? (查看没有WHERE的查询结果。)
此外,这些字段是否可以为空?自从我使用MySQL以来已经很久了,但是在SQL Server上,项目与&lt;&gt;无法比较运算符,如果其中一个操作数为NULL。
尝试: -
SELECT * FROM routes
WHERE
( econ <> maxecon )
OR ( econ IS NULL AND maxecon IS NOT NULL )
OR ( econ IS NOT NULL AND maxecon IS NULL )
ORDER BY id;
当然,引用您的实施语言。
答案 2 :(得分:0)
您的查询应该是:
$query = "SELECT * FROM routes WHERE econ != maxecon ORDER BY `id`";
当然,如果econ等于maxecon那么你将得不到任何结果,也许你可以从表中发布一些样本数据?
答案 3 :(得分:0)
我会尝试!=
而不是<>
。
答案 4 :(得分:0)
可能出现的问题:
如果您的问题是最后一个,请尝试NOT&lt; =&gt;,这是MySQL中特殊的“NULL安全等于”运算符的否定。
答案 5 :(得分:0)
这是什么编程语言?我用过的大多数都不会让你在查询中加上分号......