SQL MySQL: compter les utilisateurs par nom


Exemple

Supposons que nous voulons savoir combien d'utilisateurs ont le même nom. Laissez-nous créer des users table comme suit:

create table users(
    id int primary key auto_increment,
    name varchar(8),
    count int,
    unique key name(name)
);

Maintenant, nous venons de découvrir un nouvel utilisateur nommé Joe et aimerions le prendre en compte. Pour ce faire, nous devons déterminer s'il existe une ligne existante avec son nom et, le cas échéant, la mettre à jour pour incrémenter le nombre; d'autre part, s'il n'y a pas de ligne existante, nous devrions la créer.

MySQL utilise la syntaxe suivante: insert… on duplicate key update… . Dans ce cas:

insert into users(name, count)
       values ('Joe', 1)
       on duplicate key update count=count+1;