SQL查询字段排序示例

SuperMap SQL 查询功能除了能查询空间和属性信息外,同时还能对查询结果按照多个字段进行排序。当指定了排序字段后,查询结果会按照指定字段进行排序。当指定多个排序字段时,系统首先按第一个字段对记录排序,第一个字段有相同值的记录,就按其第二个字段的值进行排序,依此类推,最后得到按照这个顺序排列的查询结果。

下面以世界地图数据为例,查找 GDP_2014>50 的国家的属性信息,要求查询结果按照大洲ID升序排列,并按照各个国家的人口数量降序排列。

  1. 打开世界数据工作空间:World.smwu,查询数据集为 World。
  2. 选择“ 空间分析 ”选项卡 > “ 查询 ”组中的“ SQL 查询 ”,弹出“SQL 查询”对话框。
  3. 在“SQL查询”对话框中做如下设置:

查询模式:查询属性信息;

查询字段为ProvinceR.Name,ProvinceR.IncomeLevel,ProvinceR.Pop2014,ProvinceR.ColorID,ProvinceR.GDP_2014;

查询条件为 ProvinceR.GDP2014 > 20000;

排序字段1为 ProvinceR.ColorID(按照升序排列),排序字段2为 ProvinceR.GDP_2014(按照降序排列)。

具体如下图所示:

OrderBy

可以查询出 ProvinceR.GDP2014 > 20000 的所有省份的信息,名称、人均收入、人口、颜色ID。由于我们使用了排序字段,查询结果会按照第一个排序字段(ProvinceR.ColorID)指定的顺序(升序)先进行排序。由于第一个字段中有相同值的记录,然后按第二个排序字段(ProvinceR.GDP_2014)指定的顺序(降序)进行排序 。下图显示了按照ColorID和GDP排序得到的结果:
OrderBy2