Нахождение соотношения количества записей - PullRequest
0 голосов
/ 26 сентября 2019

Предположим, у меня есть таблица базы данных с тремя столбцами: source, dest и data.Я хочу сравнить количество записей с разными dest с для каждого source.Я могу получить необработанные числа с чем-то вроде:

SELECT source, dest, COUNT(*) FROM table
  GROUP BY source, dest

и получить результат, который будет выглядеть примерно так:

source dest COUNT(*)
A      x    100
A      y    100
B      x     75
B      y     78
C      x    200
C      y      0

Однако я хочу сравнить каждое sourceЭто разные значения dest s, возможно, через стандартное отклонение: результат, который будет выглядеть следующим образом:

source SD
A        0
B        1.5
C      100

Я бы даже согласился с предположением, что во всей таблице есть только два возможных значения dest.и пусть он просто сообщает разницу между ними:

source DIFF
A        0
B        3
C      200

Есть ли способ сделать это в SQL?Я нацеливаюсь на ElasticSearch SQL , но я был бы рад любому вводу и могу попробовать перевести на этот диалект.

1 Ответ

1 голос
/ 26 сентября 2019

Вы, кажется, хотите -:

SELECT source, MAX(cnt) - MIN(cnt)
FROM (SELECT source, dest, COUNT(*) as cnt
      FROM table
      GROUP BY source, dest
     ) t
GROUP BY source;

Стандартное отклонение действительно не имеет смысла, когда у вас есть только два значения.

...