powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Суммирование по группам
14 сообщений из 14, страница 1 из 1
Суммирование по группам
    #32195733
Даниил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть табличка (~30 тыс. записей) в которой в числовое значение от 0 до 100. Необходимо найти количество записей, где это значение =0; =1; и т.д. до =100.
Это можно как-то автоматизировать, а не писать 100 раз запрос, меняя параметр у WHERE?
...
Рейтинг: 0 / 0
Суммирование по группам
    #32195748
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
SELECT MyTable.Number, Count(*) AS [Count-Rows]
FROM MyTable
GROUP BY MyTable.Number


Где Number - числовое поле (повторяющиеся значения от 0 до 100).
...
Рейтинг: 0 / 0
Суммирование по группам
    #32195759
Даниил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сенькс за оперативность
...
Рейтинг: 0 / 0
Суммирование по группам
    #32195781
Даниил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только я чего-то сначала не того спросил... Звиняюсь.
Надо суммировать по группам: 0<поле<=10; 10<поле<=20 и т.д.
А это как сделать?
...
Рейтинг: 0 / 0
Суммирование по группам
    #32195810
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
SELECT MyTable.Number, Sum(*) AS [Count-Rows]
FROM MyTable
GROUP BY MyTable.Number \ 10
...
Рейтинг: 0 / 0
Суммирование по группам
    #32195813
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
То есть:

SELECT MyTable.Number \ 10, Sum(*) AS [Count-Rows]
FROM MyTable
GROUP BY MyTable.Number \ 10
...
Рейтинг: 0 / 0
Суммирование по группам
    #32195814
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно сделать табличку соответствия интервалов наборам записей в поле с номером (Number) и вместо значения в Number в запросе указывать интревал, к которому принадлежит значение.
...
Рейтинг: 0 / 0
Суммирование по группам
    #32195817
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Временная таблица - это, имхо, громоздко.
...
Рейтинг: 0 / 0
Суммирование по группам
    #32195819
Даниил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо Владимиру Санычу. Чего то я туплю тут на жаре. Извиняюсь за примитив. А если границы такие: от 0 до 3; от 4 до 20; от 21 до 100. Тогда как?
...
Рейтинг: 0 / 0
Суммирование по группам
    #32195832
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Тогда можно написать функцию, которая будет по числу возвращать код группы. И группировать по ней.
...
Рейтинг: 0 / 0
Суммирование по группам
    #32195833
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, с временной табличкой громоздко, зато для любых интервалов подходит.

Только я не понял один момент, если в табличке ещё есть текстовые поля помимо числового, то Sum(*) работать не будет.
Нужно писать Count(*), а так - забывать стал уже некоторые методы :)
...
Рейтинг: 0 / 0
Суммирование по группам
    #32195836
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Ой. Моя ошибка. Sum(MyTable.Number), конечно.
...
Рейтинг: 0 / 0
Суммирование по группам
    #32195841
Даниил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага - без Count'a не обойтись; мне не сумма нужна, а количество.

2 Владимир Саныч:
А если особо не затруднит, подскажите, как в Access'e функции создавать? Я в этом деле не очень рулю. А может проще в отдельное поле прописать код группы и не мучиться?
...
Рейтинг: 0 / 0
Суммирование по группам
    #32195855
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
> как в Access'e функции создавать?

Заходим в модуль (можно создать новый) и пишем:

Function ZZZ(n As Integer) As Integer
ZZZ = n \ 10
End Function

> А может проще в отдельное поле прописать код группы и не мучиться?

Можно и так. :^)
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Суммирование по группам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]