entre - MySQL cuenta valores distintos en mĂșltiples columnas
select distinct count mysql (2)
Prueba esto:
SELECT l.computer, l.user, COUNT(DISTINCT l.computer, l.user) AS count
FROM login l
GROUP BY l.computer, l.user
Escribí un script que se ejecuta cada vez que un usuario inicia sesión en una computadora de nuestro dominio. Esta secuencia de comandos hace un registro del usuario, así como de la computadora en la que iniciaron sesión. Cualquier número de usuarios puede iniciar sesión en cualquier cantidad de computadoras.
Acabo de heredar este entorno de TI de un consultor que ya no está cerca, y estoy escribiendo esta pequeña consulta para que cuando reciba una llamada de un usuario, pueda buscar por el nombre de ese usuario y pronosticar razonablemente qué computadora están usando. número de veces que han iniciado sesión en cualquier computadora determinada.
Aquí hay una muestra de los datos en la tabla de "inicio de sesión":
COMPUTER USER
ncofp02 lee
ncofp02 lee
ncofp02 andy
ncodc01 andy
ncodc01 andy
ncodc01 lee
Lo que me está golpeando la cabeza es la lógica para contar valores distintos en múltiples columnas. Me gustaría ver un resultado como este:
COMPUTER USER COUNT
ncofp02 lee (2)
ncofp02 andy (1)
ncodc01 lee (1)
ncodc01 andy (2)
¿Hay alguna manera de lograr esto con una sola consulta en mysql, o debería comenzar a hacer bucles de php? (¡Booooo!)
Simplemente liste varias columnas en la cláusula GROUP BY
.
SELECT computer, user, count(*) AS count
FROM login
GROUP BY computer, user