ich eine Tabelle mit einer Liste von 499 positiven Nicht-Integer-Zahlen N haben, möchte ich den Median dieser Zahlen zu finden, und ich habe unter:SQL finden Median
SELECT (ROUND(N,4)) FROM TABLE ORDER BY N LIMIT 1 OFFSET ((COUNT(N)-1)/2);
ich die folgende Fehlermeldung erhalten:
"ERROR 1064 (42000) at line 15: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '((COUNT(N)-1)/2)' at line 4"
Dies funktioniert, wenn ich ((COUNT(N)-1)/2)
von (wo der Median wäre nach Tisch bestellt wird) ersetzen, so kann ich ((COUNT(N)-1)/2)
nicht verwenden. Warum ist das? Was sollte ich stattdessen tun, um den Median zu finden?
Dank
Es ist nicht möglich, das LIMIT als dynamische Zahl in einer Select-Abfrage zu definieren, siehe: https://Stackoverflow.com/a/5873705/2067753 –