如何在MySQL中编写嵌套查询?

时间:2017-10-07 09:20:26

标签: mysql sql database

我是MySQL的新手,我没有得到如何为我的问题编写查询。我有一张名为" Station"并且有一列名为" City"。我试图从Station找到城市名称的最大和最小长度。

条件是 -

  1. 您必须先按升序排序城市名称。
  2. 从排序表结果中查找最大和最小长度的字符串。
  3. 如果有多行相同长度的字符串,则只选择第一行。
  4. 将结果显示为 city_name size_of_city_name

1 个答案:

答案 0 :(得分:1)

SELECT a.*
 FROM ( 
     select City, length( City )
     from Station
     where length( City ) = ( select max( length( City ) ) from Station )
     order by city
     limit 1 
   ) a
UNION ALL 
SELECT b.*
 FROM ( 
     select City, length( City )
     from Station
     where length( City ) = ( select min( length( City ) ) from Station )
     order by city
     limit 1
) b;

你可以编辑max到min来获得城市的最小长度

我认为如果你想在一个查询中使用它会更复杂

sqlfiddle to test the query