Показать дубликат столбца с увеличением количества в отдельном столбце в sql - PullRequest
1 голос
/ 20 марта 2020
  • Я хочу увеличить счет в count столбце один за другим, если то же самое Id найдено в записях.
  • Не думайте об автоматическом приращении Id
  • MYSQL версия 8.0 , и вы можете заказать name столбец

  • Я пытался, но не получил никакого решения.

  • Моя таблица выглядит следующим образом ( Сотрудник имя таблицы )

       +------+-------+-------+
       | Id   | Name  |address|
       +------+-------+-------+
       | 111  | Sam   |  xyz  |
       | 112  | Mike  |  xyz  |
       | 113  | Carol |  xyz  |
       | 113  | Bob   |  xyz  |
       | 113  | John  |  xyz  |
       | 116  | Adam  |  xyz  |
       | 116  | David |  xyz  |
       +------+-------+-------+
    
  • Я хочу запустить sql запрос, который выдаст такой результат, если Id такое же увеличение счетчика

    +------+-------+-------+
    | Id     | Name  | count |
    +------+-------+-------+
    | 111    | Sam   |  1    |
    | 112    | Mike  |  1    |
    | 113    | Carol |  1    |
    | 113    | Bob   |  2    |
    | 113    | John  |  3    |
    | 114    | Adam  |  1    |
    | 114    | David |  2    |
    +------+-------+-------+
    

1 Ответ

2 голосов
/ 20 марта 2020

Функция ROW_NUMBER() может генерировать ваш текущий столбец count, более или менее:

SELECT
    Id,
    Name,
    ROW_NUMBER() OVER (PARTITION BY Id ORDER BY Name) count
FROM yourTable
ORDER BY
    Id,
    Name;

Обратите внимание, что ROW_NUMBER требует MySQL 8 +.

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