MYSQL - COUNT BY GROUPING - PullRequest
       14

MYSQL - COUNT BY GROUPING

0 голосов
/ 15 марта 2019

при условии таблицы как это

domain       | city      | number
-------------|-----------|-------
example.com  | rome      | 11111 <--,
example1.com | rome      | 11111    |_ this two should be counted as 1
example2.com | rome      | 11111    |
example.com  | rome      | 11111 <--'
example.com  | amsterdam | 11111
example2.com | rome      | 22222
example.com  | uk        | 22222
example.com  | amsterdam | 22222 <--._ this two should be counted as 1
example.com  | amsterdam | 22222 <--'

Я хотел бы вывести что-то вроде следующих результатов 11111, total = 4 и 22222, total = 3

пока у меня есть этот запрос, но конечно не работает! (

SELECT number, COUNT(number) as total FROM table GROUP BY city, domain

Ответы [ 2 ]

1 голос
/ 15 марта 2019

Вы можете group by number:

select number, count(distinct concat(domain, '-', city)) total
from tablename
group by number

результат:

number  total
11111   4
22222   3
1 голос
/ 15 марта 2019

Вы можете использовать COUNT() над предварительно обработанным табличным выражением, которое удаляет дубликаты, например:

select number, count(*)
from (
  select distinct domain, city, number from my_table
) x
group by number
...