Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запрос на SQL с группировкой данных [D5, dBase, FoxPro]


Dionnis ©   (2004-08-19 12:28:00) 

Добрый день!!! Помогите пожалуйста запрос на SQL для выборки из dbf файла написать!
Есть таблица KLIENTS.dbf, в которой храниться куча данных, в том числе сведения о поле человека,
его категории, и  возрасте клиента. Нужно в одном запросе подсчитать отдельно количество мужчин и женщин по каждой категории,
(категорий всего 3) с группировкой по возрасту от 0 до 100 лет (т.е. например подсчитать количество и мужчин и женщин,
относящихся к категории VIP, которым по 30 лет, и так по каждой возрастной группе и категории клиента с учётом пола).

Заранее всем благодарен!!!


Dionnis   (2004-08-19 14:19:00) [1]

Ващето не курю вообще, просто SQL только учить начинаю. А так запрос работает! Спасибо Большое!!!!!! 8-)))


Ильш   (2004-08-19 14:04:00) [2]

КАКУЮ ТРАВУ КУРИТЕ ТОВАРИЩЧ????

ни фига не так делается!

SELECT
Пол, Категория клиента, (RIGHT(Дата рождения, 4),
COUNT(*) as KOLVO
FROM KLIENTS WHERE (RIGHT(Дата рождения, 4) >= 1904) AND (Категория клиента IN 1,2,3) GROUP BY Пол, Категория клиента, (RIGHT(Дата рождения, 4);

типа таког писать надо
тогда он будет номально группировать и считать


Dionnis   (2004-08-19 13:48:00) [3]

dbf-ник импортировал а Access(там проще запросы писать), одно поле только выводиться, а нужно чтобы выводилось 6 полей(т.к. 3 категории, 2 пола для каждой в 100 строчек(для каждой возрастной группы)), вот и как это написать ума не приложу,
Если например написать чтобы хотябы общее количество мужчин и женщин выводилось для каждой категории:

SELECT COUNT(Вид категории 1), COUNT(Вид категории 2), COUNT(Вид категории 3) FROM KLIENTS WHERE (RIGHT(Дата рождения, 4) >= 1904) AND (Категория клиента IN 1,2,3) GROUP BY Пол, Категория клиента, (RIGHT(Дата рождения, 4)),

то выводятся одинаковые данные во всех 3-х колонках!


Ильш   (2004-08-19 13:35:00) [4]

а как сейчас то выводится?


Dionnis   (2004-08-19 13:10:00) [5]

Нет, прогу я и сам напишу! Загвоздка в запросе только.
А написал я следующее:
SELECT COUNT(*) FROM KLIENTS WHERE (RIGHT(Дата рождения, 4) >= 1904) AND (Категория клиента IN 1,2,3) GROUP BY Пол, Категория клиента, (RIGHT(Дата рождения, 4);
Как сделать чтобы в одном запросе выводились сведения мужчин и женщин по каждой категории, или этого нельзя сделать?
А количество


Соловьев   (2004-08-19 12:34:00) [6]

странно что емейл не указал :)


Ильш   (2004-08-19 12:33:00) [7]

да уж.. а прогу всю не написать за тебя???
начни писать, а потом, что не получится спрашивай


Anatoly Podgoretsky   (2004-08-19 12:31:00) [8]

И что ты лично для этого делал?


Наверх

Титульная страница Поиск, карта сайта Написать письмо