Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/242: Рейтинг темы: голосов - 242, средняя оценка - 4.83
 Аватар для vavilom
4 / 4 / 2
Регистрация: 19.10.2011
Сообщений: 187

Нумерация строк в запросе

06.05.2012, 22:58. Показов 51919. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Много раз обсуждались подобные темы, но не одна из них мне не смогла помочь. Необходимо в запросе пронумеровать строки, и чтоб не зависимо как будет сортироваться запрос номера срок шли по порядку. В принципе я сделал то что мне нужно таким вот образом:
SQL
1
2
3
SELECT (SELECT SUM(1) FROM [Выбор агента] p WHERE p.Дата<= p1.Дата) AS Нумерация, p1.Дата AS Дата, p1.Агент AS Агент, p1.Сумма AS Сумма
FROM [Выбор агента] AS p1
ORDER BY p1.Дата;
Но проблема в том что если попадаются две одинаковых даты, то нумерация сбивается, подскажите как это исправить? Свой пример вылаживаю. Если в форме выбрать Иванова, и запустить запрос все нормально, а если выбрать Петрова, то нумерация сбивается. За ранее спасибо за помощь.
Вложения
Тип файла: rar Нумерация.rar (26.9 Кб, 743 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.05.2012, 22:58
Ответы с готовыми решениями:

Нумерация строк в запросе
Добрый день, помогите запросом для нумерации строк в запросе, есть таблица с полем код все записи, которые есть в таблице нужно...

Нумерация строк в запросе
Всем привет! Подскажите, нужно чтобы нумерация была у таблицы, не получается, делаю так: SELECT ROW_NUMBER() OVER(ORDER BY fio)...

Нумерация строк в запросе
Подскажите, как в запросе указать создание в выходных данных нумерации строк, в таблице источнике есть нумерация но она не будет правильной...

21
3544 / 1118 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
06.05.2012, 23:41
Добавьте в запрос "Выбор агента" поле Платежи.Ідентифікатор. Запрос "Нумерация" будет такой
T-SQL
1
2
3
4
5
SELECT (SELECT Sum(1) FROM [Выбор агента] p WHERE p.Дата<p1.Дата Or 
       (p.Дата=p1.Дата And p.Ідентифікатор<=p1.Ідентифікатор)) AS Нумерация, 
       p1.Дата AS Дата, p1.Агент AS Агент, p1.Сумма AS Сумма
FROM [Выбор агента] AS p1
ORDER BY p1.Дата, p1.Ідентифікатор
1
 Аватар для vavilom
4 / 4 / 2
Регистрация: 19.10.2011
Сообщений: 187
07.05.2012, 00:13  [ТС]
Цитата Сообщение от minob Посмотреть сообщение
Добавьте в запрос "Выбор агента" поле Платежи.Ідентифікатор. Запрос "Нумерация" будет такой
Спасибо за помощь! Очень благодарен! Все получилось.
0
 Аватар для vavilom
4 / 4 / 2
Регистрация: 19.10.2011
Сообщений: 187
09.05.2012, 14:14  [ТС]
В этой же теме у меня вознилка еще трудность, необходимость пронумеровать в одном запросе все платежи чтоб каждый агент был под своей нумерацией. Нашел тему похожую на форумах решаемая с помощью вот такого запроса:
SQL
1
2
3
4
SELECT Q.agent, D.n
FROM (SELECT agent, COUNT(*) AS c  FROM Платежи GROUP BY agent)  AS Q, (SELECT (D2.digit & D1.digit & D0.digit) +1 AS n FROM Digits AS D0, Digits AS D1, Digits AS D2)  AS D
WHERE (((D.n)<=[Q].[c]))
ORDER BY Q.agent, D.n;
где Digits отдельный запрос:
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
SELECT TOP 1 0 AS digit FROM Платежи
UNION ALL
SELECT TOP 1 1 FROM Платежи
UNION ALL 
SELECT TOP 1 2 FROM Платежи
UNION ALL
SELECT TOP 1 3 FROM Платежи
UNION ALL
SELECT TOP 1 4 FROM Платежи
UNION ALL
SELECT TOP 1 5 FROM Платежи
UNION ALL
SELECT TOP 1 6 FROM Платежи
UNION ALL
SELECT TOP 1 7 FROM Платежи
UNION ALL
SELECT TOP 1 8 FROM Платежи
UNION ALL SELECT TOP 1 9 FROM Платежи;
Получилось вроде как, но не как не получается добавить туда другие поля, сумму и дату. Может кто подскажет как это реализовать? Или может быть как то другой метод?
0
3544 / 1118 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
09.05.2012, 16:00
Цитата Сообщение от vavilom Посмотреть сообщение
Нашел тему похожую на форумах решаемая с помощью вот такого запроса
Помню этот запрос. Но дело в том, что данный запрос был написан для таблицы с единственным полем, которое не было уникальным. Для вашего случая, боюсь, он бесполезен.
Так как вы не сообщили, строки какого запроса/таблицы вам необходимо пронумеровать, то в приведенном запросе нумеруются строки ранее выложенной таблицы "Платежи" (имя поля Name изменил на dat)
T-SQL
1
2
3
4
5
6
7
SELECT (SELECT Sum(1) 
        FROM Платежи p 
        WHERE p.agent=p1.agent And (p.dat<p1.dat Or 
             (p.dat=p1.dat And p.Ідентифікатор<=p1.Ідентифікатор))) AS Нумерация, 
        p1.agent AS Агент, p1.dat AS Дата, p1.summa AS Сумма
FROM Платежи AS p1
ORDER BY p1.agent, p1.dat, p1.Ідентифікатор
Добавлено через 12 минут
Вообще-то необходимость в такой нумерации обычно возникает при выводе данных в отчет. В отчете же есть возможность организовать такую нумерацию, не прибегая к нумерации в запросе.
2
 Аватар для vavilom
4 / 4 / 2
Регистрация: 19.10.2011
Сообщений: 187
09.05.2012, 17:26  [ТС]
Цитата Сообщение от minob Посмотреть сообщение
Вообще-то необходимость в такой нумерации обычно возникает при выводе данных в отчет. В отчете же есть возможность организовать такую нумерацию, не прибегая к нумерации в запросе.
Спасибо огромное за помощь! Если честно даже не знал что в отчете можно нумеровать, ну пока сделаю нумерацию в запросе, а потом как нибудь для развития надо будет разобраться с нумерацией в отчете.
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
10.05.2012, 02:32
Раз уж нельзя давать ссылки на другие форумы, то выкладываю фак c sql.ru (c) полностью:

Автор: Владимир Саныч, участники форума по Аксессу
Прислал: Владимир Саныч

Вопросы

Q1: Как создать свой счетчик (чтобы поле было не типа счетчик)?
Q2: Как заставить счетчик начать выдавать значения начиная с некоторой заданной величины?
Q3: Может ли поле счетчика содержать повторяющиеся значения?
Q4: В таблице есть счетчик, но его значения идут не подряд, несколько чисел в середине отсутствуют. Как перезаполнить поле, чтобы дырок не было? (Другой вариант вопроса. Счетчик показывает, что последняя запись в моей таблице имеет номер N, а реально записей меньше. Почему счетчик неправильно считает количество записей в таблице? Что это - баг или фича?)
Q5: Как сымитировать счетчик в отчете?
Q6: Как сымитировать счетчик в запросе на добавление?
Q7: Как сымитировать счетчик в обычном запросе либо ленточной форме?
Q8: Как получить значение счетчика только что добавленной записи?
Q9: Как создать одним запросом таблицу со счетчиком?


Вопросы с ответами


Q1: Как создать свой счетчик (чтобы поле было не типа счетчик)?

A: Надо написать функцию, к которой обращаться либо в DefaultValue контрола (к сожалению, DefaultValue поля в таблице допускает только ограниченный набор стандартных функций), либо в программе, которая добавляет запись через рекордсет, либо в запросе на добавление. Ниже приведено несколько вариантов такой функции. Особое внимание надо уделить обработчику ошибок.


Вариант 1
Nz(DMax(...),0)+1

Так можно нумеровать записи даже внутри группы, а не только насквозь через всю таблицу. Для этого надо правильно задать параметры DMax.

Правда, надо отдельно позаботиться о ситуации, когда два юзера обратятся к этому "генератору счетчиков" одновременно.


Вариант 2


Заводим отдельную таблицу с одним полем типа счетчик и без данных. Приводимая ниже процедура обращается к такой таблице и возвращает очередное значение для "нашего" счетчика. Внимание - файл, в котором сидит эта таблица, запрещено сжимать.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Function Cou() As Long
 
Dim ws As Workspace, db As Database
Dim rsCounter As Recordset
 
On Error GoTo errCou
Set ws = DBEngine(0)
Set db = CurrentDb
1
ws.BeginTrans
2
Set rsCounter = db.OpenRecordset("select * from tabCounter")
3
rsCounter.AddNew
Cou = rsCounter!nCounter
'Close without update!'
rsCounter.Close
4
ws.CommitTrans
5
Exit Function
 
errCou:
Select Case Erl
    Case 3
        rsCounter.Close
        Set rsCounter = Nothing
        ws.Rollback
        DBEngine.Idle DB_FREELOCKS
        Resume 1
    Case 2, 4
        ws.Rollback
        DBEngine.Idle DB_FREELOCKS
        Resume 1
    Case Else
        Resume Next
End Select
 
End Function


Подвариант

Подвариант: все-таки делать rsCounter.Update, тогда по виду этой таблицы будет сразу ясно, какое значение было выдано последним. Правда, в этом случае файл станет расти.

Еще подвариант: держать в этой таблице одну запись, в которой находится очередное значение счетчика, и вместо AddNew делать Edit и rsCounter!nCounter=rsCounter!nCounter+1, а потом соответственно Update.


Вариант 3 (от Гетца)

Держим в отдельной таблице очередное значение счетчика и каждый раз увеличиваем его на 1. Таблица блокируется на момент чтения и увеличения счетчика, а все, кто в нее будут в это время стучаться, спокойно ждут (см. обработчик ошибок adhGetNextAutoNumber_Err) освобождения таблицы.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
Function adhGetNextAutoNumber(ByVal strTableName As String) As Long
 
    On Error GoTo adhGetNextAutoNumber_Err
 
    Dim wrk As dao.Workspace
    Dim db As dao.Database
    Dim rstAutoNum As dao.Recordset
    Dim lngW As Long
    Dim lngX As Long
    Dim intRetryCount As Integer
    
    Randomize
    DoCmd.Hourglass True
    intRetryCount = 0
 
    Set wrk = dao.DBEngine.Workspaces(0)
    Set db = wrk.OpenDatabase(adhCurrentDBPath() & adhcAutoNumDb, False)
    Set rstAutoNum = db.OpenRecordset(strTableName & "_ID", dbOpenTable, dbDenyRead)
 
    rstAutoNum.MoveFirst
    rstAutoNum.Edit
    rstAutoNum!NextAutoNumber = rstAutoNum!NextAutoNumber + 1
    rstAutoNum.Update
 
    adhGetNextAutoNumber = lngNextAutoNum
 
adhGetNextAutoNumber_Exit:
    DoCmd.Hourglass False
    On Error Resume Next
    rstAutoNum.Close
    Set rstAutoNum = Nothing
    db.Close
    Set db = Nothing
    wrk.Close
    Set wrk = Nothing
    Exit Function
 
adhGetNextAutoNumber_Err:
    Select Case Err.Number
        Case adhcErrRI, adhcLockErrCantUpdate2, adhcLockErrTableInUse
            intRetryCount = intRetryCount + 1
            If intRetryCount > adhcLockRetries Then
                adhGetNextAutoNumber = -1
                Resume adhGetNextAutoNumber_Exit
            Else
                dao.DBEngine.Idle
                lngW = intRetryCount ^ 2 * _
                  Int((adhcLockUBound - adhcLockLBound + 1) * Rnd() + adhcLockLBound)
                For lngW = 1 To lngW
                    DoEvents
                Next lngW
                Resume
            End If
        Case Else
            MsgBox "Error " & Err.Number & ": " & Err.Description, _
             vbOKOnly + vbCritical, "adhGetNextAutoNumber"
            adhGetNextAutoNumber = -1
            Resume adhGetNextAutoNumber_Exit
    End Select
 
End Function


Q2: Как заставить счетчик начать выдавать значения начиная с некоторой заданной величины?

А1

Добавить в таблицу со счетчиком при помощи инсерта запись, в которой полю счетчика дается значение на 1 меньше, чем надо. Потом удалить эту запись. Способ работает только при условии, что этот счетчик этого или большего значения еще не выдавал. (Если таким образом дать счетчику отрицательное значение, то он начнет выдавать отрицательные значения, несмотря на то что уже выдавал значения, большие их. Играя на этом, можно добиться, чтобы счетчик выдавал любые значения, в т.ч. и те, которые уже были.)


А2
Сжать базу, в которой сидит таблица со счетчиком. Счетчик будет выдавать значения начиная с наибольшего из существующих +1. В некоторых версиях Аксесса это работает только при условии, что таблица со счетчиком пуста (и тогда счетчик начнет выдавать значения с 1).


А3
Начиная с Аксесса 2000, можно запустить запрос наподобие такого:

Visual Basic
1
alter table Таблица1 alter column ПолеСчетчик counter(1,1)


Q3: Может ли поле счетчика содержать повторяющиеся значения?

А

В принципе да. Этого несложно достичь, меняя состояние счетчика описанными способами. Однако если при этом возникнут нарушения ключа (вообще говоря, поле счетчика можно и не делать ключевым, но обычно все-таки принято делать), то записи просто не смогут добавляться. Каждая неудачная попытка добавить запись будет увеличивать значение счетчика на 1. Когда зона существующих значений будет пройдена, то записи опять смогут добавляться.


Q4: В таблице есть счетчик, но его значения идут не подряд, несколько чисел в середине отсутствуют. Как перезаполнить поле, чтобы дырок не было? (Другой вариант вопроса. Счетчик показывает, что последняя запись в моей таблице имеет номер N, а реально записей меньше. Почему счетчик неправильно считает количество записей в таблице? Что это - баг или фича?)

А

Это нормальная ситуация. Если возникла необходимость, чтобы значения счетчика шли подряд, значит база была спроектирована неверно. Поле счетчика должно служить только для однозначной идентификации записей (и, возможно, порядка их занесения), юзер не должен видеть его значений, а если и увидит, то не должен возражать против тех значений, которые есть. Счетчик не служит для подсчета записей.


Q5: Как сымитировать счетчик в отчете?

А

Заводим текстбокс и задаем ему свойства:

ControlSource = "=1"
RunningSum = Over All


Q6: Как сымитировать счетчик в запросе на добавление?

А

Пишем функцию примерно такого вида:

Visual Basic
1
2
3
4
5
6
7
8
9
10
Function MyFun(varDummy As Variant, Optional iStartValue As Variant) As Long
Static n As Long
If IsMissing(iStartValue) Then
    MyFun = n
    n = n + 1
Else
    n = iStartValue
    MyFun = True
End If
End Function

В запросе обращаемся к ней дважды:


в части WHERE - с параметрами (чтоугодно,N), где N равно нужному начальному значению счетчика;

в части SELECT - в качестве первого параметра передавать любое поле из таблицы, второй параметр не указывать.

Внимание: упрощать этот код, удаляя из него параметр, передаваемый в части SELECT, - нельзя. Без параметра функция будет вызвана только один раз, а не в каждой записи заново.


Q7: Как сымитировать счетчик в обычном запросе либо ленточной форме?

А1

Visual Basic
1
2
3
SELECT (Select Sum(1) From t AS p Where p.f<=p1.f), p1.f
FROM t AS p1
ORDER BY p1.f;


А2


Visual Basic
1
2
3
SELECT DCount("f", "t","f<=" & CStr(f)), f
FROM t
ORDER BY f;


Примечание 1. Поле f обязано быть уникальным.

Примечание 2. Способ 1 быстрее работает, но является необновляемым.

А3
В новых версиях Аксесса у формы есть свойство CurrentRecord.



Q8: Как получить значение счетчика только что добавленной записи?

А1

Если запись добавляется через рекордсет, то так:

rs.AddNew
переменная = rs!полесчетчика
...
rs.Update

'или

Set rs = ...OpenRecordset("...where 1=0") 'обязательно пустой рекордсет
rs.AddNew 'ровно один раз; при добавлении двух и более записей ничего не получится
...
rs.Update
rs.MoveFirst
переменная = rs!полесчетчика

'или

rs.AddNew
...
rs.Update
rs.Bookmark = rs.LastModified
переменная = rs!полесчетчика


А2

Более широкий круг применимости у такого способа:

Visual Basic
1
2
3
4
5
6
Dim rs As ADODB.Recordset 
Set rs = New ADODB.Recordset
CurrentProject.Connection.Execute "INSERT ..."
rs.Open "SELECT @@identity as cou", CurrentProject.Connection
переменная = rs!cou
rs.Close
Однако и этот способ имеет ограничения, а именно:


работает либо через ADO, либо через DAO в Jet 4 и позже, и только с базами формата Аксесса 2000 и позже;

возвращает значение только из записи, добавленной программно, но не через юзер-интерфейс.


А3

Для adp годится такая модификация того же способа:

T-SQL
1
SELECT SCOPE_IDENTITY() AS [SCOPE_IDENTITY]


Q9: Как создать одним запросом таблицу со счетчиком?

A: create table xx (id counter)
3
2643 / 1342 / 256
Регистрация: 25.10.2010
Сообщений: 2,196
16.05.2012, 11:27
Все-таки форумы - замечательная вещь!
Тоже возникла задача пронумеровать строки в запросе - источнике строк списка.
Даже мучится не пришлось - есть готовое решение

minob, alvk, очень помогли, спасибо
0
Sk
6 / 6 / 1
Регистрация: 10.03.2016
Сообщений: 304
11.07.2018, 10:07
Простите за глупый вопрос, но как в примере в первом посте создан запрос "Нумерация", в качестве источника данных "p1", но такой таблицы или запроса я не вижу.
0
Мы один, давай на "ты"
3849 / 1393 / 345
Регистрация: 16.06.2016
Сообщений: 3,288
11.07.2018, 10:14
Angie, это псевдоним таблицы "Выбор агента"
1
Sk
6 / 6 / 1
Регистрация: 10.03.2016
Сообщений: 304
11.07.2018, 11:33
Панург,
а как понять этот запрос?
SQL
1
2
Нумерация: (SELECT SUM(1) FROM [Выбор агента] p WHERE p.Дата<p1.Дата OR 
       (p.Дата=p1.Дата AND p.Ідентифікатор<=p1.Ідентифікатор))
если p1 - это псевдоним запроса "Выбор агента", то что такое p?
И вообще не могу понять, как из этого выражения делается нумерация.
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
11.07.2018, 12:15
Предположим в форме Вам нужно сделать выборку из таблицы [Выбор агента] и задать ей нумерацию в поле НомерАгента. Тогда запрос в SQL
SQL
1
2
3
4
SELECT *,
       (SELECT SUM(1) FROM [Выбор агента] p WHERE p.Дата<p1.Дата OR 
       (p.Дата=p1.Дата AND p.Ідентифікатор<=p1.Ідентифікатор)) AS НомерАгента
FROM [Выбор агента] p1
В данном случае p это алиас таблицы во внутреннем подзапросе, а p1 алиас во внешнем
1
Мы один, давай на "ты"
3849 / 1393 / 345
Регистрация: 16.06.2016
Сообщений: 3,288
11.07.2018, 12:18
Angie, ты думаешь я возьму тут и прочту тебе весь курс по SQL? Зря ты так думаешь. Бери книги и читай.

Alias (SQL)
Коррелированные подзапросы
1
Sk
6 / 6 / 1
Регистрация: 10.03.2016
Сообщений: 304
11.07.2018, 15:26
Цитата Сообщение от mobile Посмотреть сообщение
В данном случае p это алиас таблицы во внутреннем подзапросе, а p1 алиас во внешнем
Спасибо!

mobile, можете глянуть Запрос2, пожалуйста? Как сделать, чтобы нумерация совпадала с выводимой информацией? То есть если задано объединение всех данных, то нумеровались бы все совпадающие. Пробовала нумеровать по другим таблицам и дописывать параметры, но пока не могу сообразить.

Панург, нет-нет, спасибо. Просто вообще упустила эту тему из вида и логику запроса не поняла. Теперь буду разбираться, спасибо
Вложения
Тип файла: rar База2.rar (20.2 Кб, 134 просмотров)
0
-5 / 2 / 0
Регистрация: 15.03.2014
Сообщений: 73
14.08.2020, 12:59
Цитата Сообщение от alvk Посмотреть сообщение
Nz(DMax(...),0)+1
А кто-нибудь может скинуть пару примеров с этой функцией, а то что-то не осилить.

Заранее спасибо.
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
14.08.2020, 18:41
Цитата Сообщение от ogsv Посмотреть сообщение
Цитата Сообщение от alvk Посмотреть сообщение
Nz(DMax(...),0)+1
кто-нибудь может скинуть пару примеров с этой функцией, а то что-то не осилить.
С какой именно функцией?
Их там две, не считая функции (точнее, операции) сложения.

Так что Вас конкретно интересует?
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
15.08.2020, 04:04
Цитата Сообщение от ogsv Посмотреть сообщение
А кто-нибудь может скинуть пару примеров с этой функцией, а то что-то не осилить.
https://docs.microsoft.com/ru-... ation.dmax
https://support.microsoft.com/... d9f4c69b6c
0
-5 / 2 / 0
Регистрация: 15.03.2014
Сообщений: 73
15.08.2020, 07:04
Я имел ввиду пример в котором будет использоваться это выражение.
В моём случае таблица не имеет ключа, т.к. это линк с экселя и видимо мне этот метод не подойдёт.
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
15.08.2020, 07:38
Цитата Сообщение от ogsv Посмотреть сообщение
В моём случае таблица не имеет ключа, т.к. это линк с экселя
Конечно имеется ввиду таблица Access, вы странные вопросы задаёте. Таблиц ещё много в мире.
0
0 / 0 / 0
Регистрация: 05.12.2020
Сообщений: 1
05.12.2020, 19:23
Никогда не знал как из отчета подставлять данные в запрос, спасибо автору темы и тем кто помогали решать. У меня похожая ситуация, нужно вывести последние 10 строк таблицы, ни ключей ни нумерации нет. Предполагаю напихать отдельную таблицу нумерацией и данными из таблицы методами Update, Insert, опыта с макросами нет, а можно запустить макрос при открытии формы?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.12.2020, 19:23
Помогаю со студенческими работами здесь

Нумерация строк в запросе на объединение
Форумчане, помогите разобраться с запросом. Есть два списка-рейтинга, которые уже имеют свою номерацию, т.е. ранжирование проведено...

Нумерация строк в запросе, начиная с заданного номера
Опять нужна ваша помощь, пожалуйста подскажите, есть запрос на выборку учащихся конкретной группы, им нужно в запросе присваивать номер...

Нумерация по порядку (не счётчик) в запросе
Здравствуйте! Подскажите пожалуйста каким самым быстрым способом можно пронумеровать строки в запросе. Я говорю не о счётчике, который...

Нумерация в запросе и выборка записей по условию нумерации
Здравствуйте! Не могу решить проблему. Есть запрос в котором записи выбираются по некоторому условию. Необходимо чтобы в этом запросе была...

Нумерация строк в запросе
Необходимо при выборке записей создать дополнительное поле, которое было бы счетчиком номеров записей. То есть поле должно содержать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru