|
|
|
Помогите разобраться люди добрые!
|
|||
|---|---|---|---|
|
#18+
Добрый день! Есть следующий запрос SELECT dept_id FROM ( SELECT dept_id, COUNT( * ) AS counted FROM staff GROUP BY dept_id ) AS k WHERE (SELECT MAX(k.counted) FROM k) = k.counted MySQL ругается 1146 - Table 'test.k' doesn't exist Задача состоит в том что необходимо найти такие dept_id у которых максимальное количество связанных записей в другой таблице. Таблица №1 (deptartments) id - ID отдела ------- name - название таблица №2 ( id- id сотрудника -------------------- dept_id -id отдела Вариант с упорядочиванием по убыванию и использованием первой записи как результата не рассматриваю, так как может быть несколько отделов с максимальным числом сотрудников. Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2015, 19:21:22 |
|
||
|
Помогите разобраться люди добрые!
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2015, 21:33:20 |
|
||
|
Помогите разобраться люди добрые!
|
|||
|---|---|---|---|
|
#18+
bochkov, Данный вариант не подходит так как записей может быть n-ое количество. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2015, 21:41:23 |
|
||
|
Помогите разобраться люди добрые!
|
|||
|---|---|---|---|
|
#18+
vananos, Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2015, 22:20:06 |
|
||
|
Помогите разобраться люди добрые!
|
|||
|---|---|---|---|
|
#18+
Всем спасибо за участие ! MasterZiv, Увы n тоже неизвестно заранее. Решил проблему сам, путем создание временной таблицы, которая хранит пару (dept_id, количество повторений dept_id) и переменной хранящей максимальное значение повторений. Может кому нибудь пригодится решение подобной задачи Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2015, 23:10:02 |
|
||
|
Помогите разобраться люди добрые!
|
|||
|---|---|---|---|
|
#18+
убери лимит в запросе, я думал те одну запись надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2015, 09:42:46 |
|
||
|
Помогите разобраться люди добрые!
|
|||
|---|---|---|---|
|
#18+
В MS SQL есть конструкция SELECT TOP(1) WITH TIES Аналогичной конструкции в MySQL нет, поэтому нужно либо задействовать временную таблицу, либо дважды выполнять группировку, причем второй раз - с подсчетом максимального значения. Типа Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2015, 10:48:14 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39025607&tid=1832834]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 321ms |

| 0 / 0 |
