Форум программистов, компьютерный форум, киберфорум
Наши страницы
Microsoft Access
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
naon
1 / 1 / 1
Регистрация: 11.09.2013
Сообщений: 264
1

Запрос: количество автомобилей каждой модели

14.02.2016, 23:39. Просмотров 1158. Ответов 7
Метки нет (Все метки)

Задание звучит:"Создать запрос с групповыми вычислениями по таблице Автомобили: в запрос вклю-чить поля Модель, Номер авто; определить количество автомобилей каждой модели."

То что я пытался сделать:
SQL
1
2
3
SELECT А.Nom_avt,А.Mod, COUNT(MOD) AS Kolv
FROM Автомобили А
GROUP BY А.Mod,А.Nom_avt
Но выдает ошибку : Ошибка синтаксиса (пропущен оператор) в вырождение " COUNT (Mad)".

Подскажите что за ошибка и вообще правильно ли я пытаюсь реализовать задание?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2016, 23:39
Ответы с готовыми решениями:

Запрос на количество участников по каждой породе
У меня есть таблица "Порода" где указан её Id и название, а есть таблица "Собака" в ней у каждой...

Составить запрос на вывод количества неисправных автомобилей
Здравствуйте! Не могу решить такую задачку: есть база данных со столбцами: номер автомобиля...

Запрос в Access сумма закупленных/проданных автомобилей
Доброго времени суток! Я - ещё совсем новичок в работе с БД, делаю БД "Автосалон". В общем,...

Построить запрос, выводящий для каждой книги название первого по алфавиту автора и общее количество авторов книги
Товарищи, хэлп. Есть одно задание составить запрос, но что-то не клеится. Формулировка задания:...

Найти количество автомобилей каждой марки
Сведения об автомобиле состоят из номера(четырёхзначного) фамилии владельца и марки. Дан набор...

7
mobile
Эксперт MS Access
24621 / 13431 / 2851
Регистрация: 28.04.2012
Сообщений: 14,731
14.02.2016, 23:52 2
Лучший ответ Сообщение было отмечено naon как решение

Решение

MOD наверное из списка зарезервированных слов. Надо либо указать таблицу-родителя А.MOD, либо задать каунт со звездочкой Count(*)
SQL
1
2
3
SELECT А.Nom_avt,А.MOD, COUNT(*) AS Kolv
FROM Автомобили А
GROUP BY А.MOD,А.Nom_avt
1
naon
1 / 1 / 1
Регистрация: 11.09.2013
Сообщений: 264
14.02.2016, 23:57  [ТС] 3
Тогда получается вот так. Но в таблице представлены две модели "МАН". Как я понял задание должно просумировать их и показать что 2. а не 1 и 1.
Или я что то не так понял?
0
Миниатюры
Запрос: количество автомобилей каждой модели  
texnik-san
шапоклякистка 8-го дня
3634 / 2195 / 390
Регистрация: 26.06.2015
Сообщений: 4,648
Записей в блоге: 1
15.02.2016, 00:03 4
Лучший ответ Сообщение было отмечено naon как решение

Решение

Уберите А.Nom_avt из выборки и группировки.

Добавлено через 48 секунд
SQL
1
2
3
SELECT А.MOD, COUNT(*) AS Kolv
FROM Автомобили А
GROUP BY А.MOD
1
15.02.2016, 00:03
naon
1 / 1 / 1
Регистрация: 11.09.2013
Сообщений: 264
15.02.2016, 00:04  [ТС] 5
Цитата Сообщение от texnik-san Посмотреть сообщение
Уберите А.Nom_avt из выборки и группировки.
"в запрос вклю-чить поля Модель, Номер авто; " В задании же сказано так?

Вы правы. Если убрать то суммирует.
Но разве это не против задания?
0
texnik-san
шапоклякистка 8-го дня
3634 / 2195 / 390
Регистрация: 26.06.2015
Сообщений: 4,648
Записей в блоге: 1
15.02.2016, 00:22 6
Тогда так:

SQL
1
2
3
SELECT А.MOD, COUNT(А.Nom_avt) AS Kolv
FROM Автомобили А
GROUP BY А.MOD
1
mobile
Эксперт MS Access
24621 / 13431 / 2851
Регистрация: 28.04.2012
Сообщений: 14,731
15.02.2016, 00:32 7
Группировка по уникальному полю неизбежно приводит к выводу всего набора данных. Удаление уникального поля из группировки дало Вам правильный результат. Чтобы соответствовать полностью заданию нужны дополнительные усилия - либо перечислить все номера и давать в каждой строке количество моделей (количество будет повторяться), либо использовать конкатенацию номеров в строку, что скорее всего никак в задание не входит.
Пример для каждого номера
SQL
1
2
SELECT А.Nom_avt, А.MOD, (SELECT COUNT(*) FROM Автомобили t WHERE t.MOD=A.MOD) AS Kolv
FROM Автомобили А
1
naon
1 / 1 / 1
Регистрация: 11.09.2013
Сообщений: 264
15.02.2016, 17:54  [ТС] 8
Цитата Сообщение от mobile Посмотреть сообщение
SELECT А.Nom_avt, А.MOD, (SELECT COUNT(*) FROM Автомобили t WHERE t.MOD=A.MOD) AS Kolv
FROM Автомобили А
Используя этот код выдает ошибку. "Параметр A.MOD не имеет параметра по умолчанию".
0
15.02.2016, 17:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2016, 17:54

Найти количество автомобилей каждой марки
Дан типизированный файл f, содержащий данные об автомобилях(фамилия владельца, марка автомобиля и...

Определить количество автомобилей каждой марки
Помогите написать программу которая формирует файл записей данной структуры Type Vladelez=Record...

Вывести количество автомобилей каждой марки
задан файл, содержащий сведения о фамилии владельца, марки автомобиля и номера. вывести количество...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru