MySQL - 在选择另一列的最小值后选择一列的最小值

标签 mysql sql

我有下表(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);

SqlFiddleDemo

关于MySQL - 在选择另一列的最小值后选择一列的最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33067858/

相关文章:

java - 在 sql Developer (oracle 11g) 中组织查询结果

javascript - 从 $.get 函数中获取数据

javascript - 如果日期值相同,如何从 td 中删除日期值?

php - 使用 ZF2 保存到多个表时检查空值

mysql - 如何在mysql上使用 "group by"之前的 "join"?

mysql - 在循环中将数组值更多列插入到mysql

mysql - 重叠预订查询

mysql - 使用数据库给出错误信息

mysql - AWS Lambda 在峰值期间淹没 RDS MySQL 连接

sql - 如何在 postgresql 或使用一些 sql 查询技巧中显示空结果集