Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Запрос с счётчиком со сбросом / 14 сообщений из 14, страница 1 из 1
28.08.2019, 17:15
    #39854796
Degun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с счётчиком со сбросом
Добрый день.
В таблице есть поле Price, в котором находятся числа. Нужно на основе поля Price в той же таблице заполнить целочисленное поле Order по следующему принципу: туда помещается последовательный счётчик записей, который сбрасывается когда в поле Price встречается число меньше предыдущего. Счёт счётчика для первой записи и после сброса начинается с 1. Для примера:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Price              Order
------------       -------------
10                 1
9                  1
11                 2
8                  1
9                  2
11                 3
12                 4
7                  1
13                 2
15                 3
16                 4
21                 5
18                 1
20                 2
Как это реализовать на SQL?
...
Рейтинг: 0 / 0
28.08.2019, 17:18
    #39854797
Щукина Анна
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с счётчиком со сбросом
Degun,

STFF: start_of_group
...
Рейтинг: 0 / 0
28.08.2019, 17:18
    #39854798
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с счётчиком со сбросом
Никак, потому что в вашей таблице нет поля, определяющего порядок записей.
...
Рейтинг: 0 / 0
28.08.2019, 17:23
    #39854802
Degun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с счётчиком со сбросом
Щукина Анна,
Подразумевалось, что используется Microsoft Transact SQL

Гавриленко Сергей Алексеевич,
Зачем? Используется только поле Price.
...
Рейтинг: 0 / 0
28.08.2019, 17:26
    #39854804
Щукина Анна
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с счётчиком со сбросом
Degun,

Я вам что предлагаю?
...
Рейтинг: 0 / 0
28.08.2019, 17:30
    #39854807
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с счётчиком со сбросом
Degun,

Затем, что порядок в Microsoft Transact SQL задается через order by, где надо написать поле, которое этот самый порядок определяет.
...
Рейтинг: 0 / 0
28.08.2019, 17:31
    #39854808
Щукина Анна
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с счётчиком со сбросом
Гавриленко Сергей Алексеевич,
Зачем? Используется только поле Price.
А как вы планируете гарантировать детерминированность результата?
...
Рейтинг: 0 / 0
28.08.2019, 17:36
    #39854809
Degun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с счётчиком со сбросом
Хорошо. Вот такая таблица с заданием порядка записей по столбцу ID
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
ID      Price              Order
-----   ------------       -------------
1       10                 1
2       9                  1
3       11                 2
4       8                  1
5       9                  2
6       11                 3
7       12                 4
8       7                  1
9       13                 2
10      15                 3
11      16                 4
12      21                 5
13      18                 1
14      20                 2
...
Рейтинг: 0 / 0
28.08.2019, 17:42
    #39854812
Щукина Анна
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с счётчиком со сбросом
Еще раз, если первый вы не заметили :
STFF: start_of_group
...
Рейтинг: 0 / 0
28.08.2019, 17:50
    #39854816
Degun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с счётчиком со сбросом
Щукина Анна,
Если не трудно, можете код привести?
...
Рейтинг: 0 / 0
28.08.2019, 18:04
    #39854826
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с счётчиком со сбросом
...
Рейтинг: 0 / 0
28.08.2019, 18:16
    #39854831
Щукина Анна
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с счётчиком со сбросом
DegunЩукина Анна,
Если не трудно, можете код привести?
Только после исполнения пункта 6 Рекомендаций по оформлению сообщений в форуме
...
Рейтинг: 0 / 0
28.08.2019, 18:26
    #39854837
Degun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с счётчиком со сбросом
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
CREATE TABLE [dbo].[MyTable] (
	[ID] [int] NOT NULL,
	[Price] [float] NOT NULL,
	[Order] [int] NOT NULL 
) ON [PRIMARY]
GO
INSERT INTO MyTable (ID, Price, [Order]) VALUES (1,10,1)
INSERT INTO MyTable (ID, Price, [Order]) VALUES (2,9,1)
INSERT INTO MyTable (ID, Price, [Order]) VALUES (3,11,2)
INSERT INTO MyTable (ID, Price, [Order]) VALUES (4,8,1)
INSERT INTO MyTable (ID, Price, [Order]) VALUES (5,9,2)
INSERT INTO MyTable (ID, Price, [Order]) VALUES (6,11,3)
INSERT INTO MyTable (ID, Price, [Order]) VALUES (7,12,4)
INSERT INTO MyTable (ID, Price, [Order]) VALUES (8,7,1)
INSERT INTO MyTable (ID, Price, [Order]) VALUES (9,13,2)
INSERT INTO MyTable (ID, Price, [Order]) VALUES (10,15,3)
INSERT INTO MyTable (ID, Price, [Order]) VALUES (11,16,4)
INSERT INTO MyTable (ID, Price, [Order]) VALUES (12,21,5)
INSERT INTO MyTable (ID, Price, [Order]) VALUES (13,18,1)
INSERT INTO MyTable (ID, Price, [Order]) VALUES (14,20,2)
...
Рейтинг: 0 / 0
28.08.2019, 19:12
    #39854852
Щукина Анна
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с счётчиком со сбросом
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Запрос с счётчиком со сбросом / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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