Допустим, мы имеем эту таблицу со столбцами RowID
и Call
:SQL: Получить запуска строки дельту для записей
RowID Call DesiredOut
1 A 0
2 A 0
3 B
4 A 1
5 A 0
6 A 0
7 B
8 B
9 A 2
10 A 0
Я хочу SQL запроса последнего столбца DesiredOut
следующим образом: Каждый раз, когда Call
является «A» вернитесь до тех пор, пока «A» не будет найден снова и не подсчитайте количество записей, находящихся между двумя записями «A».
Пример: RowID
4 имеет «A» и ближайший предшественник в RowID
2. Между RowID
2 и 4 RowID
мы имеем один Call
«B», поэтому мы считаем 1.
Есть элегантный и производительный способ сделать это с помощью ANSI SQL?
Является ли rowid автоматически генерируется и хранится внутри базы данных? – frlan
Какую базу данных вы используете? –