Make your choice

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