Как написать sql-запрос, который группирует строки, а затем выполняет некоторые вычисления для одного из столбцов?

#mysql #sql

#mysql #sql

Вопрос:

Мне задали этот вопрос в интервью. Приведенная таблица была

 | dept | reward |
| ---- | ------ |
| A    | 2500   |
| B    | 4000   |
| C    | 4500   |
| A    | 4000   |
| C    | 3500   |
| A    | 3500   |
| B    | 3000   |
| A    | 500    |
| C    | 2500   |
 

Мне нужно было написать SQL-запрос, в котором перечислены имена отделов с вознаграждением> 10 000. Ответом здесь будет dept A(2500 4000 3500 500=10500) и С(4500 3500 2500=10500).
Я не смог ответить на него. Может кто-нибудь помочь мне с этим? Любая помощь будет оценена.

Заранее приношу извинения за странную формулировку вопроса.

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

1. Я не хочу показаться грубым, но это очень простой group by вопрос. Кажется странным, что кто-то проводит собеседование на работу, где SQL указан как навык, и не знает о такой фундаментальной части языка.

Ответ №1:

Вы можете сделать:

 select dept, sum(reward)
from t
group by dept
having sum(reward) > 10000
 

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

1. Привет, я обновил вопрос. Раньше в этом была некоторая двусмысленность.

2. Я заметил. Смотрите Новый запрос.