每当我尝试在同一个MySQL查询中使用WHERE
和ORDER BY
时(在php或c#中),它都不起作用。我总是设法找到另一种方法来做到这一点,但我想知道为什么我们不能同时使用它们。谢谢。
答案 0 :(得分:7)
您可以同时使用它们,您必须按正确的顺序放置它们。
SELECT *
FROM table t
WHERE t.field
ORDER BY t.field1
我建议你阅读。
答案 1 :(得分:2)
你绝对可以同时使用它们。
答案 2 :(得分:2)
您可以在同一语句中使用它们。您需要确保它们的顺序正确:
SELECT *
FROM Table
WHERE Column = Something
ORDER
BY ColumnId
答案 3 :(得分:2)
它们非常兼容。我怀疑使用的语法是错误的。要获得有关如何正确编写它的建议,请在帖子中包含“错误”语法。
这是有效的SQL(假设存在这样的模式):
SELECT age
FROM users
WHERE age > 42
ORDER BY age ASC
请注意,ORDER BY
必须在最后。
请参阅SELECT syntax了解特定数据库(供应商和版本之间存在偏差)。请注意,C#LINQ“类似于”SQL,但不是 SQL。
快乐的编码。
答案 4 :(得分:0)
PEBKAC:这不是MySQL的问题。
答案 5 :(得分:0)
它们应该是兼容的......
我唯一能想到的就是:你在WHERE
之前使用ORDER BY
吗?在一些RDBMS实现中,查询部分的顺序非常重要。