gpt4 book ai didi

MySQL - 在指定 HAVING 时使用 COUNT() 返回总结果

转载 作者:行者123 更新时间:2023-11-29 01:52:15 24 4
gpt4 key购买 nike

使用下面的查询,我可以搜索给定半径内的属性并返回结果。

SELECT id, address, ( 3959 * acos( cos( radians( 53.184815 ) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-3.025741) ) + sin( radians(53.184815) ) * sin( radians( lat ) ) ) ) AS distance
FROM properties
WHERE area = 1 HAVING distance <= 1
ORDER BY price DESC, distance ASC
LIMIT 0, 10

但是我现在想添加分页,因此“LIMIT 0, 10”但不知何故让查询返回总结果。例如,如果有 100 个结果,但我们只限制前 10 个结果,则返回总数为 100。

我尝试在选择后添加“COUNT(*) AS total”,但这导致返回零结果。

如何让查询以这种方式返回总数?

最佳答案

我认为它需要一个子查询来实现:

SELECT
id, address, ( 3959 * acos( cos( radians( 53.184815 ) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-3.025741) ) + sin( radians(53.184815) ) * sin( radians( lat ) ) ) ) AS distance,
(SELECT count(*) FROM properties WHERE area = 1 HAVING ( 3959 * acos( cos( radians( 53.184815 ) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-3.025741) ) + sin( radians(53.184815) ) * sin( radians( lat ) ) ) )<= 1) AS total
FROM properties
WHERE area = 1 HAVING distance <= 1
ORDER BY price DESC, distance ASC
LIMIT 0, 10

关于MySQL - 在指定 HAVING 时使用 COUNT() 返回总结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38477547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com