powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как в ASA 5.5 выбрать только первую запись?
17 сообщений из 17, страница 1 из 1
Как в ASA 5.5 выбрать только первую запись?
    #33777545
avalon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сабж
____________________________________________
Тот, кто хочет, делает больше, чем тот, кто может!
...
Рейтинг: 0 / 0
Как в ASA 5.5 выбрать только первую запись?
    #33777778
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avalon wrote:

> сабж

Выбрать все записи, потом все, кроме первой, выкинуть.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Как в ASA 5.5 выбрать только первую запись?
    #33777996
grach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
select first - нет?
...
Рейтинг: 0 / 0
Как в ASA 5.5 выбрать только первую запись?
    #33777997
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grach wrote:

> select first - нет?

Нет.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Как в ASA 5.5 выбрать только первую запись?
    #33779306
avalon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
типа
Код: plaintext
select first N * from...
Как в ASA 5.5 такое сделать в запросе?
____________________________________________
Тот, кто хочет, делает больше, чем тот, кто может!
...
Рейтинг: 0 / 0
Как в ASA 5.5 выбрать только первую запись?
    #33779322
Владимор Конев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avalonтипа
Код: plaintext
select first N * from...
Как в ASA 5.5 такое сделать в запросе?
____________________________________________
Тот, кто хочет, делает больше, чем тот, кто может!Тебе нужна вообще какая попало первая запись? Или первая запись из упорядоченного по определнным критериям множества?
...
Рейтинг: 0 / 0
Как в ASA 5.5 выбрать только первую запись?
    #33779404
avalon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимор КоневТебе нужна вообще какая попало первая запись? Или первая запись из упорядоченного по определнным критериям множества?
из упорядоченного
...
Рейтинг: 0 / 0
Как в ASA 5.5 выбрать только первую запись?
    #33779465
Владимор Конев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avalonиз упорядоченногоСтруктуру таблицы, примерный набор данных и критерий упорядочивания записей приведи.
...
Рейтинг: 0 / 0
Как в ASA 5.5 выбрать только первую запись?
    #33779507
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot avalon]типа
Код: plaintext
select first N * from...
Как в ASA 5.5 такое сделать в запросе?

В принципе никак, я извращался при помощи курсора, т.е. в процедуре создавалась времянка, в которую при помощи курсора загонял нужные мне записи, а потом select из этой времянки.
...
Рейтинг: 0 / 0
Как в ASA 5.5 выбрать только первую запись?
    #33779518
Владимор Конев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Orlov
...Ты ещё мельче шрифт для своего ответа поставить не мог??? ;)
...
Рейтинг: 0 / 0
Как в ASA 5.5 выбрать только первую запись?
    #33779537
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимор Конев Sergey Orlov
...Ты ещё мельче шрифт для своего ответа поставить не мог??? ;)
Извини, еще раз повторю.
В принципе никак, я извращался при помощи курсора, т.е. в процедуре создавалась времянка, в которую при помощи курсора загонял нужные мне записи, а потом select из этой времянки.
...
Рейтинг: 0 / 0
Как в ASA 5.5 выбрать только первую запись?
    #33779554
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как в ASA 5.5 выбрать только первую запись?
    #33779563
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avalon wrote:

> select first N * from...

5.5 этого не умеет.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Как в ASA 5.5 выбрать только первую запись?
    #33779744
Владимор Конев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avalonтипа
Код: plaintext
select first N * from...
Как в ASA 5.5 такое сделать в запросе?
____________________________________________
Тот, кто хочет, делает больше, чем тот, кто может!Такое можно сделать хоть при помощи селфджойна с последующей агрегацией и последующей филььрацией результата посредством предложения HAVING.
...
Рейтинг: 0 / 0
Как в ASA 5.5 выбрать только первую запись?
    #33779968
Владимор Конев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avalonсабж
____________________________________________
Тот, кто хочет, делает больше, чем тот, кто может!
Предположим, что у нас есть таблица Т вида:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
select * from t order by id

Query finished, retrieving results...

ID   NAME
--   -----------------
  1    Первоя строка
  2    Вторая строка
  3    Третья строка
  4    Четвертая строка
  5    Пятая строка

 5  row(s) retrieved

Предположим, что мы хотим получить первую запись из вот такого набора данных (данные упорядочены по полю NAME), то есть нас интересует строка с ID = 2 и NAME = 'Вторая строка':
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
select * from t order by name

Query finished, retrieving results...

ID   NAME
--   -----------------
  2    Вторая строка
  1    Первоя строка
  3    Третья строка
  4    Четвертая строка
  5    Пятая строка

 5  row(s) retrieved


Для того, чот бы получить желаемый результат можно написать запрос вида:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
select t1.id, 
       t1.name
  from t t1
 inner join t t2
    on t1.name >= t2.name
 group by t1.id, t1.name
having count( 1 ) <=  1 

Query finished, retrieving results...

ID       NAME
--   -------------
  2    Вторая строка

 1  row(s) retrieved


Заменяя значение в выражении HAVING с 1 на другое - будем получать необходимое число строк. Таким образом получается своеобразный аналог FIRST N:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
select t1.id, 
       t1.name
  from t t1
 inner join t t2
    on t1.name >= t2.name
 group by t1.id, t1.name
having count( 1 ) <=  3 

Query finished, retrieving results...

ID       NAME
--   -------------
  1    Первоя строка
  2    Вторая строка
  5    Пятая строка

 3  row(s) retrieved
...
Рейтинг: 0 / 0
Как в ASA 5.5 выбрать только первую запись?
    #33780112
prokhorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ASCRUSА SET ROWCOUNT в ASA 5 поддерживалась ?
--
www.rusug.ru - портал русскоязычной группы пользователей Sybase

Поддерживалась.
Конкретно для версии 5.5.0.5 build #2817 :

set rowcount 5
select * from TableName

оставляет как положено первые 5 из отобранных 100.
...
Рейтинг: 0 / 0
Как в ASA 5.5 выбрать только первую запись?
    #33780354
avalon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
prokhorov ASCRUSА SET ROWCOUNT в ASA 5 поддерживалась ?
--
www.rusug.ru - портал русскоязычной группы пользователей Sybase

Поддерживалась.
Конкретно для версии 5.5.0.5 build #2817 :

set rowcount 5
select * from TableName

оставляет как положено первые 5 из отобранных 100.

Спасибо, работает. У меня как раз эта версия :)
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как в ASA 5.5 выбрать только первую запись?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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