Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
_ Гость
|
Добавлено: Сб Май 31 2003 17:54 Заголовок сообщения: Как взять первую запись из SELECTa?.. Или как совместить 2 агрегатные ф-ии?.. |
|
|
Помогите plz... Столкнулся с проблемой как под SQL ( не MySQL ) взять первую запись из запроса... Не зная её параметров... Или как совместить 2 агрегатные ф-ии в одном SELECTе... Например выбрать MAX( SUM ( fld ) ) ??? |
|
Вернуться к началу |
|
|
Борис Гость
|
Добавлено: Вт Июн 03 2003 10:52 Заголовок сообщения: Вопр. 1: опция TOP, вопр. 2: использовать вложенные запросы. Оба вопроса разом: прочитать, наконец, документацию по SQL. :) (-) |
|
|
- |
|
Вернуться к началу |
|
|
_ Гость
|
Добавлено: Чт Июн 05 2003 19:31 Заголовок сообщения: Боюсь, не получиться... MAX( SUM( field ) ) не кушает... А TOP не поддерживается Делфовским SQL Explorerom.... :( |
|
|
Боюсь, не получиться... MAX( SUM( field ) ) не кушает... А TOP не поддерживается Делфовским SQL Explorerom.... |
|
Вернуться к началу |
|
|
Борис Гость
|
Добавлено: Пт Июн 06 2003 10:04 Заголовок сообщения: Ну тогда (+) |
|
|
select max(sum_поле) as max_sum_поле from ( select sum(поле) as sum_поле from таблица group by ид );
PS. Учите матчасть, г-да |
|
Вернуться к началу |
|
|
_ Гость
|
Добавлено: Вс Июн 08 2003 21:53 Заголовок сообщения: Оч. Вам благодарен, но...(+) |
|
|
Вся проблема в Експлорере... Он не поддерживает вложенные подзапросы... PS: Знать то я много знаю... Да именно реализовать знания надо в Експлорере... Вроде если без GROUP BY написать - всё получается... Тогда только первая запись берётся... Но всё равно - спасибо... |
|
Вернуться к началу |
|
|
Борис Гость
|
Добавлено: Пн Июн 09 2003 08:54 Заголовок сообщения: Без GROUP BY мой пример не имеет смысла. Если в твоем случае GROUP BY не нужен, тогда не ясен вопрос. (-) |
|
|
- |
|
Вернуться к началу |
|
|
_ Гость
|
Добавлено: Вт Июн 10 2003 19:45 Заголовок сообщения: На самом деле всё по-корявому...(+) |
|
|
Я уж и сам разобрался... Там такой корявый запрос получаеться - ужас... Если хотите - вот он:
SELECT SUM( f.Quantity ), f.ID FROM table f GROUP BY f.ID HAVING SUM( f.Quantity ) >= ALL( SELECT SUM( s.Quantity ) FROM table s GROUP BY s.ID ) |
|
Вернуться к началу |
|
|
Борис Гость
|
Добавлено: Ср Июн 11 2003 16:01 Заголовок сообщения: Это как раз в духе SQL. Блестящий пример желания SQL решить всё и вся. :) И результат отказа от участия запрашивающего в оптими |
|
|
- |
|
Вернуться к началу |
|
|
_ Гость
|
Добавлено: Ср Июн 11 2003 19:54 Заголовок сообщения: А если усложнить(+) |
|
|
Ну да... Конечно, ещё так можно MIN( SUM( fld ) ) найти... А если усложнить - AVG( SUM( fld ) )??? Не подсакжите ли?.. |
|
Вернуться к началу |
|
|
|