|
Запрос для вывода самого часто встречающегося Поля2 для Поля1
|
|||
---|---|---|---|
#18+
Есть Access 2010 и куча данных в нём. Смысл запроса. Есть таблица с номерами реестров операций (pifile) и названиями организаций (org), по которым эти операции проходят. Нужно для каждого реестра найти самую часто встречающуюся организацию. В результате нужен список соответствий - Реестр-Организация. Если самых часто встречающихся организаций несколько, то реестр в итоговый запрос выводить не нужно. Сначала создала запрос, группирующий пары Реестр-Организация и подсчитывающий, сколько таких пар получилось. Назвала его A: Код: sql 1. 2. 3.
Дальше пытаюсь найти самые часто встречающиеся организации для реестров и отбросить повторяющиеся реестры Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Без группировки и Having Count(B.pifile)=1 в итоговую таблицу попадало много записей с повторяющимися номерами реестров. Когда это добавила, повторов стало меньше. Откуда они вообще берутся, и можно ли как-то их убрать (если самых повторяющихся организаций по реестру больше одной, то она не нужна)? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2019, 23:22 |
|
Запрос для вывода самого часто встречающегося Поля2 для Поля1
|
|||
---|---|---|---|
#18+
glassira, у каждой самой встречающейся организации max-имальное количество встречаний, так ведь? смысл во встроенном запрсое во втором запросе - то зачем, а вот там лепят max- просто joinoм счета объединить религия не позволяет? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2019, 23:41 |
|
Запрос для вывода самого часто встречающегося Поля2 для Поля1
|
|||
---|---|---|---|
#18+
alecko, aleckoу каждой самой встречающейся организации max-имальное количество встречаний Да, для каждого pifile у самой часто встречающейся организации будет максимальное количество повторов aleckoво встроенном запросе во втором запросе Я считаю максимальное количество повторов организаций для каждого pifile aleckoпросто joinoм счета объединить Простите, не очень поняла идею. Что с чем стоит объединить? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2019, 23:54 |
|
Запрос для вывода самого часто встречающегося Поля2 для Поля1
|
|||
---|---|---|---|
#18+
glassira, ищете организации а группируете счета? Код: vbnet 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 07:58 |
|
Запрос для вывода самого часто встречающегося Поля2 для Поля1
|
|||
---|---|---|---|
#18+
glassiraНужно для каждого реестра найти самую часто встречающуюся организацию.А если таковых несколько - нужны все? один любой? один конкретный? Схематично для варианта "нужны все". Первый запрос (query1) получает количество по паре реестр-организация Код: sql 1. 2. 3.
Второй запрос (query2) получает максимальное counted для реестра Код: sql 1. 2. 3.
Третий отбирает пары реестр-организация с макс. количеством Код: sql 1. 2. 3.
Есссно всё это легко собирается в один запрос. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Для других вариантов делаете аналогично, вводя, где нужно, TOP1 или соотв. WHERE. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 08:01 |
|
|
start [/forum/topic.php?fid=45&msg=39788762&tid=1610801]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 341ms |
total: | 462ms |
0 / 0 |