请求生成SQL查询:为locationsRoute表添加指定最小RouteOrder列
解决方案:添加全局最小RouteOrder列
要实现这个需求,我们可以用聚合函数子查询来获取所有state IS NULL记录的最小RouteOrder,然后将这个值作为全局列返回给每一行记录。
实现SQL语句
SELECT locationId, RouteOrder, (SELECT MIN(RouteOrder) FROM locationsRoute WHERE state IS NULL) AS minimumRouteOrder FROM locationsRoute;
思路解释
- 子查询
(SELECT MIN(RouteOrder) FROM locationsRoute WHERE state IS NULL)会单独计算出所有state为NULL的记录中最小的RouteOrder值(在你的示例数据里就是3.0000)。 - 主查询返回原表的所有列,同时将子查询得到的最小值作为
minimumRouteOrder列附加到每一行,这样所有行的这个列值都是相同的全局最小值。
验证结果
执行这条SQL后,会得到你预期的结果:每一行都包含原表的locationId、RouteOrder,以及统一的minimumRouteOrder值3.0000,完全匹配你给出的预期输出。
内容的提问来源于stack exchange,提问作者Admin Softisans
相关产品推荐
相关产品推荐

