Weather Observation Station 20

Sort by

recency

|

3977 Discussions

|

  • + 0 comments
    SELECT ROUND(AVG(LAT_N), 4) 
    FROM (
        SELECT S1.LAT_N
        FROM STATION S1
        JOIN STATION S2 
          ON S1.LAT_N >= S2.LAT_N
        GROUP BY S1.LAT_N
        HAVING SUM(1) BETWEEN (SELECT COUNT(*) FROM STATION)/2
                          AND (SELECT COUNT(*) FROM STATION)/2 + 1
    ) AS mid;
    
  • + 0 comments

    SELECT round(lat_n,4) FROM ( SELECT lat_n, ROW_NUMBER() OVER (ORDER BY lat_n) rn,count(*) over() total_rows FROM station ) WHERE rn = ( CASE WHEN MOD(total_rows, 2) = 1 THEN (total_rows + 1) / 2 ELSE ((total_rows / 2) + ((total_rows / 2) + 1)) / 2 END );

  • + 0 comments

    SELECT CAST(AVG(LAT_N) AS DECIMAL(10,4)) AS median_lat FROM ( SELECT LAT_N, ROW_NUMBER() OVER (ORDER BY LAT_N) AS rn, COUNT(*) OVER () AS total_count FROM STATION ) t WHERE rn IN ((total_count + 1) / 2, (total_count + 2) / 2);

  • + 0 comments

    MySQL:

    WITH numbered AS (
        SELECT 
            lat_n,
            ROW_NUMBER() OVER(ORDER BY lat_n ASC) AS index_row,
            COUNT(*) OVER () AS total_rows
        FROM station
    )   
    
    SELECT
        ROUND(AVG(lat_n), 4) AS mediana
    FROM numbered
    WHERE index_row IN (
        FLOOR((total_rows + 1) / 2),
        CEIL((total_rows + 1) / 2)
    );
    
  • + 0 comments

    Running code in MySQL

    WITH Ordered AS ( SELECT LAT_N, ROW_NUMBER() OVER (ORDER BY LAT_N) AS rn, COUNT(*) OVER () AS total FROM STATION ) SELECT ROUND(AVG(LAT_N), 4) AS median_lat_n FROM Ordered WHERE rn IN ((total + 1) / 2, (total + 2) / 2);