Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Id строки в таблице  [new]
Юляsh
Member

Откуда:
Сообщений: 10
Я в sql совсем новичок. Пыталась сделать сама, не получилось. Есть временная таблица из одного столбца с рандомными числами. Слева выводятся id строк автоматически. Не получается обратиться к этому id с целью вывести первые 3 строки. Всем спасибо за помощь
15 окт 14, 17:25    [16709152]     Ответить | Цитировать Сообщить модератору
 Re: Id строки в таблице  [new]
Konst_One
Member

Откуда:
Сообщений: 11624
top 3 + order by id
15 окт 14, 17:26    [16709155]     Ответить | Цитировать Сообщить модератору
 Re: Id строки в таблице  [new]
Юляsh
Member

Откуда:
Сообщений: 10
Konst_One, id это не столбец, это сам sql его делает, а мне как раз к нему и нужно обратиться
15 окт 14, 17:29    [16709181]     Ответить | Цитировать Сообщить модератору
 Re: Id строки в таблице  [new]
Konst_One
Member

Откуда:
Сообщений: 11624
покажите что вы делаете на примере SQL-запроса
15 окт 14, 17:31    [16709201]     Ответить | Цитировать Сообщить модератору
 Re: Id строки в таблице  [new]
Konst_One
Member

Откуда:
Сообщений: 11624
SELECT ROW_NUMBER() OVER(ORDER BY Title DESC) as [],  ...


дальше уж сами
15 окт 14, 17:35    [16709237]     Ответить | Цитировать Сообщить модератору
 Re: Id строки в таблице  [new]
Юляsh
Member

Откуда:
Сообщений: 10
Konst_One, вот моя таблица CREATE TABLE #MTable4 (number int) я ее сортирую по возрастанию select * from #MTable4 order by number, и мне нужно вывести 3 минимальных элемента, то есть 3 первые строки
15 окт 14, 17:36    [16709246]     Ответить | Цитировать Сообщить модератору
 Re: Id строки в таблице  [new]
Konst_One
Member

Откуда:
Сообщений: 11624
чем не угодил вам TOP ?
15 окт 14, 17:37    [16709259]     Ответить | Цитировать Сообщить модератору
 Re: Id строки в таблице  [new]
Юляsh
Member

Откуда:
Сообщений: 10
Konst_One, делаю так select * from #MTable4 order by number
select top 3 number from #MTable4 и он выводит 3 строки первоначальной не отсортированной таблицы
15 окт 14, 17:43    [16709310]     Ответить | Цитировать Сообщить модератору
 Re: Id строки в таблице  [new]
Konst_One
Member

Откуда:
Сообщений: 11624
 order by number
зачем убрали?
15 окт 14, 17:45    [16709328]     Ответить | Цитировать Сообщить модератору
 Re: Id строки в таблице  [new]
Юляsh
Member

Откуда:
Сообщений: 10
Konst_One, sql ругается, пишет неправильный синтаксис около order
15 окт 14, 17:48    [16709358]     Ответить | Цитировать Сообщить модератору
 Re: Id строки в таблице  [new]
Konst_One
Member

Откуда:
Сообщений: 11624
select top (3) 
a.[number] 
from #MTable4 a 
order by a.[number]
15 окт 14, 17:49    [16709370]     Ответить | Цитировать Сообщить модератору
 Re: Id строки в таблице  [new]
baracs
Member

Откуда: Москва
Сообщений: 7217
Юляsh
Есть временная таблица из одного столбца с рандомными числами. Слева выводятся id строк автоматически.
Это вы где видите?
автор
id это не столбец, это сам sql его делает
Сам сервер, без вашей команды, это не делает.
На сколько я понимаю, это клиентская программа, которой вы пользуетесь, нумерует строки в наборе, который ей возвращает сервер. Сервер про эти номера ничего не знает и обратиться к ним не может.
Konst_One подсказывает вам, как попросить сервер сделать такой столбец.
15 окт 14, 17:51    [16709385]     Ответить | Цитировать Сообщить модератору
 Re: Id строки в таблице  [new]
Юляsh
Member

Откуда:
Сообщений: 10
Получилось! большое спасибо Вам. А вообще, можно обратится к этому номеру строки? просто нужно будет перебирать этот столбец циклом
15 окт 14, 17:52    [16709399]     Ответить | Цитировать Сообщить модератору
 Re: Id строки в таблице  [new]
Юляsh
Member

Откуда:
Сообщений: 10
Оу, печально, как же перебирать это столбец? видела что можно по id строки как то, но на ID sql ругается
15 окт 14, 17:54    [16709412]     Ответить | Цитировать Сообщить модератору
 Re: Id строки в таблице  [new]
Konst_One
Member

Откуда:
Сообщений: 11624
select top (3) 
b.[Id],
b.[number]
FROM
(Select ROW_NUMBER() OVER(ORDER BY a.[number]) as [Id], a.[number] from #MTable4 a) b
order by b.[Id]
15 окт 14, 17:59    [16709444]     Ответить | Цитировать Сообщить модератору
 Re: Id строки в таблице  [new]
Юляsh
Member

Откуда:
Сообщений: 10
Да, поняла как теперь работать. Спасибо!
15 окт 14, 18:02    [16709461]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить