Использование DISTINCT и COUNT в MySQL для превышения определенного значения

#mysql #count

#mysql #количество

Вопрос:

Я использую базу данных исполнителя, альбома и их треков.

Здесь я пытаюсь напечатать количество записей трека, которые есть у каждого AlbumId:

 SELECT COUNT(AlbumId) as num, AlbumId
FROM Tracks
GROUP BY AlbumId
  

Вывод

  ----- --------- 
| num | AlbumId |
 ----- --------- 
|  10 |       1 |
|   1 |       2 |
|   3 |       3 |
|   8 |       4 |
|  15 |       5 |
|  13 |       6 |
|  12 |       7 |
|  14 |       8 |
|   8 |       9 |
|  14 |      10 |
 ----- --------- 
  

Мне нужен список AlbumId, значение count которого (num) больше 12. Как мне это сделать??

Для моего ответа я хочу вывести что-то вроде:

  ----------- 
|  AlbumId  |
 ----------- 
|   5       |
|   6       |
|   8       |
|   10      |
 ----------- 
  

Комментарии:

1. Добавить HAVING num > 12

Ответ №1:

 select num, AlbumId from
(SELECT COUNT(AlbumId) as num, AlbumId
FROM Tracks
GROUP BY AlbumId) a
where num >= 12
  

Комментарии:

1. Можете ли вы сказать мне, что делает это ‘a’?? Это единственное, что не имеет смысла для меня

2. вам просто нужно дать имя таблице (select ….) — поэтому я назвал это ‘a’