two entre diferencias diferencia columns mysql sql select group-by distinct

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