SELECT price FROM products LIMIT 1 ORDER BY price;
这是错的
但
SELECT price FROM products ORDER BY price LIMIT 1;
这没关系,为什么?
答案 0 :(得分:2)
这是语法。出于同样的原因,ORDER BY
必须遵循SELECT
和FROM
答案 1 :(得分:2)
您的SELECT语句有两(2)个子句:ORDER BY和LIMIT。
根据MySQL SELECT语法,子句按特定顺序定义,如MySQL website's SELECT syntax page中的下图所示。
在LIMIT子句之前允许ORDER BY子句,但不允许相反。
答案 2 :(得分:1)
LIMIT
必须在ORDER
之后,因为必须先完成排序。在第一个查询中,您只需选择price
表中列出的第一个products
即可。在您的第二个(并且正确的)查询中,products
表按price
排序,然后仅返回1.