Посчитать в таблице сколько раз встречается кусок данных из другой таблицы - MySQL
Формулировка задачи:
Собственно есть две таблицы events и таблица venues. В таблице events есть поле Venue которое также встречается в таблице venues под видом name. Собственно задача, нужно вывести некоторую информацию из таблицы venues - тот же name, field1...fieldn и главная задача получить count из таблицы events где поле евентс - Venue равно полю name из таблицы venues. Промучился довольно долго подскажите плиз что делать.
Есть попытка что то сделать но не уверен в правильности направления
SELECT name AS c1, (SELECT COUNT(Venue) FROM events WHERE Venue = 'c1') AS c2 FROM venues;
Решение задачи: «Посчитать в таблице сколько раз встречается кусок данных из другой таблицы»
textual
Листинг программы
SELECT t1.name, t1.alias, t1.city, t1.state, COUNT(t2.Venue) AS COUNT FROM venues AS t1, events AS t2 WHERE t2.Venue=t1.name GROUP BY t1.name
Объяснение кода листинга программы
В представленном коде выполняется подсчёт количества событий (записей в таблице events
) для каждого места проведения (записей в таблице venues
), при этом в итоговом результате выводится информация о названии места, его псевдониме, городе и штате, а также количество событий.
Код можно разбить на следующие фрагменты:
SELECT t1.name, t1.alias, t1.city, t1.state, COUNT(t2.Venue) AS COUNT
— здесь указано, какие поля следует вывести в итоговом результате. Помимо этого, используется функцияCOUNT
, которая будет подсчитывать количество событий для каждого места.FROM venues AS t1, events AS t2
— здесь указываются таблицы, которые будут использоваться в запросе.WHERE t2.Venue=t1.name
— здесь устанавливается условие для связи таблиц: сопоставляются поляVenue
из таблицыevents
иname
из таблицыvenues
.GROUP BY t1.name
— здесь указывается, что результаты запроса должны быть сгруппированы по полюname
из таблицыvenues
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д