Número De Materias Únicas Impartidas Por Profesor

Escribe una solución para calcular el número de materias únicas que cada profesor imparte en la universidad. Regresa el resultado en cualquier orden.

#database#sorting-and-grouping

Tabla: Teacher

+-------------+------+
| Column Name | Type |
+-------------+------+
| teacher_id  | int  |
| subject_id  | int  |
| dept_id     | int  |
+-------------+------+

- (`subject_id`, `dept_id`) es la llave primaria (combinación de columnas con valores únicos) de esta tabla.
- Cada fila de esta tabla indica que el profesor con `teacher_id` imparte la materia `subject_id` en el departamento `dept_id`.

El formato del resultado se muestra en el siguiente ejemplo.

Ejemplo 1:

Entrada:

Tabla Teacher:
+------------+------------+---------+
| teacher_id | subject_id | dept_id |
+------------+------------+---------+
| 1          | 2          | 3       |
| 1          | 2          | 4       |
| 1          | 3          | 3       |
| 2          | 1          | 1       |
| 2          | 2          | 1       |
| 2          | 3          | 1       |
| 2          | 4          | 1       |
+------------+------------+---------+

Salida:

+------------+-----+
| teacher_id | cnt |
+------------+-----+
| 1          | 2   |
| 2          | 4   |
+------------+-----+

Explicación:
Profesor 1:
  - Imparte la materia 2 en los departamentos 3 y 4.
  - Imparte la materia 3 en el departamento 3.
Profesor 2:
  - Imparte las materias 1, 2, 3, y 4 en el departamento 1.

Solución:

SELECT t.teacher_id,
       COUNT(DISTINCT subject_id) AS cnt
FROM teacher t
GROUP BY t.teacher_id;

slackmart blog © 2024