Beheben von Fehlern in der MySQL-Abfrage [Duplikat]MySql

MySQL DBMS-Forum
Anonymous
 Beheben von Fehlern in der MySQL-Abfrage [Duplikat]

Post by Anonymous »

Ich versuche den Median in diesem MySQL-Problem zu finden:
Minimal reproduzierbares Beispiel:

Code: Select all

CREATE TABLE STATION (LAT_N DECIMAL(10,4));
INSERT INTO STATION VALUES (10.5), (20.3), (15.7), (25.1), (18.9);
Aber ich habe immer noch Schwierigkeiten, Fehler in meiner Abfrage zu finden.
Mein Code:

Code: Select all

WITH CNT AS(
SELECT COUNT(*) AS N
FROM STATION
)

SELECT ROUND(
CASE
WHEN N % 2 = 1 THEN (
SELECT LAT_N
FROM STATION
ORDER BY LAT_N ASC
LIMIT 1 OFFSET (N DIV 2)
)

ELSE (
SELECT AVG(LAT_N) FROM(
SELECT LAT_N
FROM STATION
ORDER BY LAT_N ASC
LIMIT 2 OFFSET ((N - 1) DIV 2)
)
AS TEMP
)

END, 4
) AS MED

FROM CNT;
Fehlermeldung:
HackerRank zeigt nur „Syntaxfehler“ ohne spezifische Details an.
Was ich versucht habe:
  • CTE separat getestet und es funktioniert einwandfrei
Erwartet Ausgabe:
18,9000 (der Medianwert, gerundet auf 4 Dezimalstellen)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post