Считать, как у идентификатора такая же комбинация соединения - PullRequest
1 голос
/ 19 июня 2019

У меня есть таблица Join, и результат такой:

IDA IDB QTY
A   3   1
A   4   1
A   5   1
B   3   1
B   4   1
C   3   2
D   3   2
E   3   1
F   4   1
G   3   1
G   4   1
G   5   1
H   3   3
H   4   3
H   5   3

Я не понимаю, как подсчитать IDA, у которых одинаковые условия IDB и QTY.

Итак, что я хочу:

Combination of IDB - QTY 

(3-1, 4-1, 5-1) = 2 from IDA (A and G)
(3-1) = 1 from IDA (E) 
(3-2) = 2 from IDA (C and D) 

Итак, в общем, я хочу подсчитать IDA, у которых одинаковые комбинации IDB и QTY.Какой запрос я должен сделать?Я до сих пор не понимаю, как сделать запрос для этой логики, спасибо.

Редактировать:

То, что я хочу, это результат в одном запросе, я не буду делать вручную Где условие Комбинация IDB-QTY.(поэтому в основном результат не из условия Где)

1 Ответ

1 голос
/ 19 июня 2019

Вы можете использовать агрегирование с помощью функции group_concat()

select group_concat( ida order by ida ) as grouped_letters, count(*) as count
  from
  (
   select ida, count( idb - qty ) as ct, sum( idb - qty ) as sm
     from tab
    group by ida
  ) q
 group by ct, sm
 order by ida;


+---------------+-----+
|grouped_letters|count|
+---------------+-----+
| B             |  1  | 
| C,D           |  2  |
| E             |  1  |
| F             |  1  |
| A,G           |  2  |
| H             |  1  |
+---------------+-----+

Демо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...