【发布时间】:2021-12-30 12:16:15
【问题描述】:
我想在分组查询中获得随机值,如下所示:
SELECT city
, SOME_RANDOMIZER_FUNC(latitude) as "RANDOM_LATITUDE_IN_CITY"
, SOME_RANDOMIZER_FUNC(longitude) AS "RANDOM_LONGITUDE_IN_CITY"
FROM some_table
GROUP BY city
输入:
city LATITUDE LONGITUDE
STO -31.3935 -57.9413
STO -31.0274 -57.8081
STO -30.7852 -57.7765
STO -30.4274 -56.4718
NDU -30.2747 -57.6023
NDU -32.2909 -58.0737
NDU -32.0286 -57.8468
NDU -32.3600 -57.2021
NDU -32.6816 -57.6541
MBO -31.7085 -55.9873
MBO -30.9359 -55.5457
MBO -31.1972 -55.7574
MBO -31.7711 -54.6904
想要的输出:
city RANDOM_LATITUDE_IN_CITY RANDOM_LONGITUDE_IN_CITY
STO -31.0274 -57.9413
NDU -32.3600 -57.6541
MBO -30.9359 -55.5457
函数SOME_RANDOMIZER_FUNC返回组内的随机值。
【问题讨论】:
-
有一组经纬度属于同一个城市。但是,一个坐标可以属于一个记录,另一个属于另一个记录,我不知道这是不是问题
-
我猜样本数据(以及所需的输出)会有所帮助。
标签: sql oracle random group-by oracle11g