Вопрос к гуру SQL @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 5 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
gregzem Муж.
новый человек
2
Сообщения: 252
Зарегистрирован: 29.04.03
Заголовок сообщения: Вопрос к гуру SQL
Сообщение Добавлено: 16 Сентябрь 2003, 15:24:37 
Есть две таблицы:

Код:
range_table
 
 from  |   to |  name
 ---------------------
 1            3       one
 4            7       two
 8            10     three

value_table
 
 val
 —
 1
 2
 2
 5
 7



нужно придумать sql запрос, чтобы получилась таблица:

Код:
 name |  count(…)
 -------------------
 one    |   3
 two    |  2


Т.е. посчитать попадания в заданный диапазон значений и вывести имя диапазона и количество попаданий значений в него.

Кто сможет написать SQL запрос ?
[/code]
Original Demon Муж.
постоянный участник
9
Сообщения: 2719
Зарегистрирован: 18.04.02
Откуда: Hell of a Place
Сообщение Добавлено: 16 Сентябрь 2003, 16:35:40 
какая СУБД?

_________________
Original Demon - distributed world wide since 546 BC
gregzem Муж.
новый человек
2
Сообщения: 252
Зарегистрирован: 29.04.03
Сообщение Добавлено: 16 Сентябрь 2003, 17:20:30 
желательно использовать ANSI SQL. В настоящий момент должно работать на postgres и mysql.
Original Demon Муж.
постоянный участник
9
Сообщения: 2719
Зарегистрирован: 18.04.02
Откуда: Hell of a Place
Сообщение Добавлено: 16 Сентябрь 2003, 18:55:57 
gregzem пиши скрипт. одним запросом не получится.

_________________
Original Demon - distributed world wide since 546 BC
<sergio.ga>
новый человек
0
Сообщения: 102
Зарегистрирован: 13.06.03
Откуда: Харьков, Украина
Сообщение Добавлено: 17 Сентябрь 2003, 09:44:01 
Код:
SELECT COUNT(v.val) AS sum, r.name FROM value_table v INNER JOIN range_table r ON r.from<=v.val AND r.to>=v.val GROUP BY r.name

Работает в MySQL.
За ANSI не ручаюсь.
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 5 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100