#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’