Подсчет повторяющихся столбцов и обновление счетчика столбца - PullRequest
0 голосов
/ 09 апреля 2019
Report table Columns:
ID | ipaddress | count | category

У меня есть дубликаты записей ipaddress, я хочу подсчитать количество каждого IP и обновить столбец подсчета для каждого IP.

Я могу подсчитать дубликатывот так

SELECT ipaddress, COUNT(*) FROM report GROUP BY ipaddress HAVING COUNT(*) > 1 ORDER BY COUNT(*) DESC 

Вывод

 ipaddress       COUNT(*) 
192.168.2.187        16
192.168.6.14         14
192.168.2.17         11
3192.168.3.6         9
192.168.2.77         8

Мне просто нужно обновить каждый ip, указав правильный номер счета.

1 Ответ

1 голос
/ 09 апреля 2019

Вы можете JOIN в UPDATE, вот так:

UPDATE report r
  JOIN (SELECT ipaddress, COUNT(*) cnt FROM report GROUP BY ipaddress) up
    ON up.ipaddress = r.ipaddress
   SET r.`count` = up.cnt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...