我有下表(tablea):
x y
---------------------------
3 1
1 4
1 3
结果我想要 x = 1 和 y = 3(让 x 尽可能低是最高优先级,让 y 尽可能低是次要优先级)。 所以我想要一个类似这样的 SQL 语句:
Select Min(y), x
FROM (SELECT MIN(x), y FROM tablea);
但这给了我以下错误代码:
Error Code: 1248. Every derived table must have its own alias
如果我尝试这样做:
Select Min(y), x
FROM (SELECT MIN(x), y FROM tablea) as a;
我得到:
Error Code: 1054. Unknown column 'x' in 'field list'
最佳答案
为避免错误未知列
,您需要将别名添加到MIN(x)
:
Select Min(a.y), a.x
FROM (SELECT MIN(x) AS x, y FROM tablea) as a;
但为了获得您建议的结果,我会将您的查询重写为:
Select x, MIN(y) AS y
FROM tablea
WHERE x = (SELECT MIN(x) FROM tablea);
关于MySQL - 在选择另一列的最小值后选择一列的最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33067858/