Я пытаюсь вычислить медиану из таблицы с различными типами данных, смешанных вместе (я не могу изменить таблицу). Строки 3 и 6 являются примерами смешанных данных, а строки 1, 2, 4 и 5 являются примерами строк, из которых мне законно нужны данные (WHERE form_id = 1 AND field_id = 1):
id form_id field_id value
1 1 1 200
2 1 1 290
3 1 2 'Delicious Bacon'
4 1 1 320
5 1 1 120
6 2 3 9000000
Я понимаю, что могу вывести медиану из таблицы, используя следующее:
SELECT x.value from form_data x, form_data y
GROUP BY x.value
HAVING SUM(SIGN(1-SIGN(y.value-x.value))) = (COUNT(*)+1)/2;
Тем не менее, данные, смешанные в вызове мои способности SQL. Как я могу найти медиану этих данных, только где form_id = 1 и field_id = 1?