SQL查询值除以max(value)
·
问题:SQL查询值除以max(value)
我为自己感到羞耻,因为我不能正确地做这个查询......我有一张这样的桌子
nom | code_geo | valeur | indice
-------+----------+--------+--------------------
AISNE | 02 | 81573 | 0.05
SOMME | 80 | 79520 | 0.03
OISE | 60 | 70004 | 0.09
我需要做的是将每个“指数”除以最大值(指数)。那是:
nom | code_geo | valeur | indice
-------+----------+--------+--------------------
AISNE | 02 | 81573 | 0.05 / 0.09
SOMME | 80 | 79520 | 0.03 / 0.09
OISE | 60 | 70004 | 0.09 / 0.09
我的第一个猜测是:
SELECT nom,code_geo,valeur,indice/(SELECT max(indice) FROM blablabla) FROM blablabla;
我的问题是“blablabla”实际上是一个带有 6 个参数的函数,我不想在子查询上重复 FROM 子句......
还有另一种(更好的?)方法吗?还是我应该换个方式
提前谢谢
解答
你的解决方案看起来不错。由于子查询与外部查询不相关,DBMS 应该只评估该子查询一次。
更多推荐
所有评论(0)