powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / помогите с SQL запросом ,плиз
10 сообщений из 10, страница 1 из 1
помогите с SQL запросом ,плиз
    #33774983
oleggar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица с полями region ,field1,field2,field3, amount
сначала я вычисляю суммы покупок по регионам и прочим условиям
select sum(amount) from table group by region ,field1,field2,field3,
а потом я хочу узнать ,сколько строк получилось в результате первого запроса .
Пока сделал select count(sum(amount)) from table group by region ,field1,field2,field3 ,работает нормально ,но дико выглядит ,зачем суммы суммировать ?
select distinct count(region ,field1,field2,field3 )-такого оператора нет .А просто посчитать количество строк мои компоненты доступа не позволяют
...
Рейтинг: 0 / 0
помогите с SQL запросом ,плиз
    #33775058
TIB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используй глобальную переменную @@rowcount
...
Рейтинг: 0 / 0
помогите с SQL запросом ,плиз
    #33775215
oleggar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
первый раз о ней слышу .а как использовать ?пример есть ?
...
Рейтинг: 0 / 0
помогите с SQL запросом ,плиз
    #33776421
Владимор Конев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oleggarЕсть таблица с полями region ,field1,field2,field3, amount
сначала я вычисляю суммы покупок по регионам и прочим условиям
select sum(amount) from table group by region ,field1,field2,field3,
а потом я хочу узнать ,сколько строк получилось в результате первого запроса .
Пока сделал select count(sum(amount)) from table group by region ,field1,field2,field3 ,работает нормально ,но дико выглядит ,зачем суммы суммировать ?
select distinct count(region ,field1,field2,field3 )-такого оператора нет .А просто посчитать количество строк мои компоненты доступа не позволяют
А какой у теб сервер???
Если возможности позволяют, то можно вот так сделать:
Код: plaintext
1.
2.
3.
select sum(amount),
       row_number() over(order by null)
  from table 
 group by region ,field1,field2,field3
...
Рейтинг: 0 / 0
помогите с SQL запросом ,плиз
    #33776422
Владимор Конев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимор КоневЕсли возможности позволяют, то можно вот так сделать:
Код: plaintext
1.
2.
3.
select sum(amount),
       row_number() over(order by null)
  from table 
 group by region ,field1,field2,field3

Пардон, немного не то...
Вот так будет правильнее:
Код: plaintext
1.
2.
3.
select sum(amount),
       count( 1 ) over() as cnt
  from table 
 group by region ,field1,field2,field3
...
Рейтинг: 0 / 0
помогите с SQL запросом ,плиз
    #33776446
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимор КоневВот так будет правильнее:
Код: plaintext
1.
2.
3.
select sum(amount),
       count( 1 ) over() as cnt
  from table 
 group by region ,field1,field2,field3

А смысл здесь делать over, приводя запрос к OLAP-форме, если не указаны измерения и можно спокойно обычную аггрегацию использовать ?
...
Рейтинг: 0 / 0
помогите с SQL запросом ,плиз
    #33776472
Владимор Конев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUS Владимор КоневВот так будет правильнее:
Код: plaintext
1.
2.
3.
select sum(amount),
       count( 1 ) over() as cnt
  from table 
 group by region ,field1,field2,field3

А смысл здесь делать over, приводя запрос к OLAP-форме, если не указаны измерения и можно спокойно обычную аггрегацию использовать ?Человеку нужно получить общее число строк в запорсе. IMHO, это как минимум ROLLUP использовать придется, что бы сделать за один проход по данным через группировку, что уже делает её (группировку) не совсем "обычной".
В остальном - согласен, не тот случай, когда нужно юзать столь мощные средства. А так оно как из пушки по воробьям получается...
...
Рейтинг: 0 / 0
помогите с SQL запросом ,плиз
    #33776626
oleggar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сервер у меня Sybase 11 Enterprise
...
Рейтинг: 0 / 0
помогите с SQL запросом ,плиз
    #33776641
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если Вы с клиента хотите узнать, сколько записей вернулось, то узнавайте посредством компонент доступа, которые все возвращают кол-во записей в наборе данных.

Если Вы в ХП хотите узнать, то через @@ROWCOUNT:
SELECT @CountRec = @@ROWCOUNT
или
SET @CountRec = @@ROWCOUNT
--
www.rusug.ru - портал русскоязычной группы пользователей Sybase
...
Рейтинг: 0 / 0
помогите с SQL запросом ,плиз
    #33776705
oleggar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я бы использовал в компоненте rowcount ,только что-то стандартный query и ctlibcomp не всегда возвращают ,пока не понял почему
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / помогите с SQL запросом ,плиз
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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