Как извлечь Median из MySQL в смешанных данных? - PullRequest
1 голос
/ 23 октября 2011

Я пытаюсь вычислить медиану из таблицы с различными типами данных, смешанных вместе (я не могу изменить таблицу). Строки 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?

1 Ответ

1 голос
/ 23 октября 2011

Попробуйте это

SELECT x.value from form_data x, form_data y
WHERE x.form_id=1 and x.field_id=1 and y.form_id=and y.field_id=1
GROUP BY x.value
HAVING SUM(SIGN(1-SIGN(y.value-x.value))) = (COUNT(*)+1)/2;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...