Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

91
Vistas
SQL count second column for-each unique row of first column

I have this sample many-to-many table for students & subjects in a university

student | subject
-----------------
James   | English
James   | Physics
Paul    | Mathematics
Paul    | English
Paul    | English
Paul    | French
Jake    | French
Jake    | Mathematics
Paul    | English

I need to know the SQL query for getting the count of subjects for each student like

student | # of subjects
------------------------
James   |   2
Paul    |   3
Jake    |   2
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

All you need is GROUP BY student and COUNT(DISTINCT):

SELECT student, COUNT(DISTINCT subject) AS "# of subjects" 
FROM students_subjects
GROUP BY student;
over 4 years ago · Santiago Trujillo Denunciar

0

You need to group

    CREATE TABLE `student_subject` (
      `name` varchar(256) DEFAULT NULL,
      `subject` varchar(256) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

    --
    -- Dumping data for table `student_subject`
    --

    INSERT INTO `student_subject` (`name`, `subject`) VALUES
    ('James', 'English'),
    ('James', 'Physics'),
    ('Paul', 'Mathematics'),
    ('Paul', 'English'),
    ('Paul', 'English'),
    ('Paul', 'French'),
    ('Jake', 'Mathematics'),
    ('Jake', 'French');

 SELECT name, COUNT(distinct subject) AS "subject_count" 
 FROM student_subject
 GROUP BY name,subject order by name desc

#########output##############

 Name     subject_count
('Jake' , 2),
('James', 2),
('Paul' , 3);
over 4 years ago · Santiago Trujillo Denunciar

0

SELECT student, count(*) 
FROM table
GROUP BY student
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda