gpt4 book ai didi

mysql - 如何使用case when计算mysql中的中位数

转载 作者:行者123 更新时间:2023-11-29 17:53:26 26 4
gpt4 key购买 nike

我有一个名为 station 的表,其中有一列 LAT_N。我正在尝试获取 LAT_N 的中位数。

这是我的查询:

select 
case when count(Lat_N)%2=0 then (select (Lat_N from station limit (1,ceil(count(Lat_N)/2))+ select (Lat_N from station limit (1,floor(count(Lat_N)/2)))))
else (Select Lat_N from station limit(1,floor(count(Lat_N)/2)+1))
end
from station;

最佳答案

尝试以下查询:

SELECT avg(tmp1.LAT_N) as median_LAT FROM (
SELECT @rownum:=@rownum+1 as row_number, s.val
FROM station s, (SELECT @rownum:=0) r
ORDER BY s.LAT_N
) as tmp1,
(
SELECT count(*) as total_rows
FROM station s
) as tmp2
AND tmp1.row_number in ( floor((total_rows+1)/2), floor((total_rows+2)/2) );

关于mysql - 如何使用case when计算mysql中的中位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49093941/

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