у меня 3 таблицы.1 - стартапы, которые содержат идентификатор и имя запуска, 1 - инвестор_группы, которые содержат идентификатор инвестора и имя группы инвесторов, 1 - сделки, которые содержат startup_id - идентификатор стартапа, который подал заявку на финансирование, и investor_group_id - идентификатор группы инвесторов, котораястартап отправил заявку на финансирование.
Я должен найти стартапы, которые отправили наибольшее количество заявок, и названия групп, к которым они обращались.
То, что я пытаюсь сделать, это -
SELECT S.name AS Startup_name, COUNT(S.name) as num
FROM deals D
INNER JOIN startups S ON D.startup_id = S.id
INNER JOIN investor_groups I ON D.investor_group_id = I.id
GROUP BY Startup_name
ORDER BY num DESC
LIMIT 2
Но это дает мне результат как -
имя_запуска, num
HJ Inc, 3
смузи, 3
То, что я хочу, -
имя_запуска, имя_инвестора
HJInc, abc
HJ Inc, def
HJ Inc, ghi
смузи, xyz
смузи, rst
смузи, лмн
Когда я добавляю имена групп инвесторов в операторе SELECT, появляется сообщение об ошибке, что имена групп инвесторов должны быть в операторе GROUP BY.
Пример данных из таблиц -
Для таблицы «стартапы» Стартапы
Для таблицы «Группы инвесторов» Группы инвесторов
Для таблицы «сделки» сделки