回答

收藏

按位置和顺序排列复杂的聚合属性

技术问答 技术问答 248 人阅读 | 0 人回复 | 2023-09-12

你好,我在试试。Sequelize实施基于位置的查询,但我陷入了噩梦!
& X) B9 ~/ S  I& o+ }" F# R我在尝试生成SQL:) a# ^9 q6 v$ u
SELECT *,(3959 * acos(cos(radians([user-latitude])) * cos(radians(latitude)) * cos(radians(longitude) - radians([user-longitude]))   sin(radians([user-latitude])) * sin(radians(latitude)))) AS distance FROM myModel HAVING distance 其中[user-latitude]和[user-longitude]是变量。到目前为止,我已经知道了:4 E) B8 Y2 [. q/ X, ^5 ^+ K3 i( L5 {$ x5 h" [
myModel.findAll({    attributes:      *         [`(3959 * acos(cos(radians(${user-latitude})) * cos(radians(latitude)) * cos(radians(longitude) - radians(${user-longitude}))   sin(radians(${user-latitude})) * sin(radians(latitude))))`,'distance where:              distance:                  $lte: 25、     }order:      distance','ASC limit: 10,   offset: 0,});产生:  j7 d$ {3 V  ~
SELECT *,(3959 * acos(cos(radians([user-latitude])) * cos(radians(latitude)) * cos(radians(longitude) - radians([user-longitude]))   sin(radians([user-latitude)) * sin(radians(latitude)))) AS `distance` FROM `myModels` AS `myModel` WHERE `myModel`.`distance` 因为myModel.distance不是一个字段。有没有办法在不使用原始查询的情况下完成这项工作?
7 m+ k( k- U$ V3 x! f! i                                                                " ^( o- h0 `7 x4 g/ j& N) l
    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则