Неисправность Понимание соединительных столов SQL - PullRequest
2 голосов
/ 26 апреля 2020

Пожалуйста, смотрите прикрепленное изображение таблиц.

У меня есть вопрос:

Найдите 5 лучших профессий, которые больше всего занимали в 2016 году

Код, который я имею:

select c.occupation, count(*) no_mostborrow
from client c
Inner Join client c on c.clientID = b.clientID
where b.borrowDate >= '2016-01-01' and b.borrowDate < '2017-01-01'
group by c.clientoccupation, c.clientid
order by count(*) asc
limit 5

Мне кажется, что я что-то здесь упускаю, но я не уверен, что именно. Я уверен, что я полностью выключен. Большое спасибо за ваше время.

enter image description here

1 Ответ

1 голос
/ 26 апреля 2020

Чтобы ответить на ваш вопрос, вам нужно только occupation в group by. И join должно быть правильным:

select c.occupation, count(*) as no_mostborrow
from client c join
     borrower b
     on c.clientid = b.clientid
where b.borrowDate >= '2016-01-01' and b.borrowDate < '2017-01-01'
group by c.clientoccupation
order by count(*) asc
limit 5
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...