Название: SQLite3 какой SELECT нужен ? Отправлено: -QT- от Май 19, 2009, 15:20 Всем привет !
В SQLite3 нужно получить пронумерованную выборку. Используя VFP это производиться Код: SELECT RECNO() AS npp FROM tablename WHERE id > 25 Код: SELECT ROW_NUMBER() OVER (ORDER BY name) AS number, name FROM sysobjects Помогите решить задачу. Название: Re: SQLite3 какой SELECT нужен ? Отправлено: kirill от Май 19, 2009, 15:57 Интересный ответ из инета
Код: select (select COUNT(0) http://www.mail-archive.com/sqlite-users@sqlite.org/msg41515.html (http://www.mail-archive.com/sqlite-users@sqlite.org/msg41515.html) Название: Re: SQLite3 какой SELECT нужен ? Отправлено: -QT- от Май 19, 2009, 16:30 Спасибо но это не помогло:
Код: select (select COUNT(0) from goods t1 where t1.id <= t2.id) as 'npp', name from goods t2 where razmer = 40 17 Труба Ст3. 2" 29 Труба Ст3. 1/2" 30 Профиль 10х15 Ст3. а нужно выдать: 1 Труба Ст3. 2" 2 Труба Ст3. 1/2" 3 Профиль 10х15 Ст3. Или я не правильно интерпретировал пример Название: Re: SQLite3 какой SELECT нужен ? Отправлено: White Owl от Май 19, 2009, 22:04 Код: select (select COUNT(0) from goods t1 where t1.name <= t2.name and razmer = 40) as 'npp', name а) Внутренний селект должен повторять внешний по всем условиям выборки. б) Внешний селект должен быть отсортирован по уникальному полю в) Внутренний должен иметь < или <= связь с внешним по тому же полю по которому делается сортировка внешнего Название: Re: SQLite3 какой SELECT нужен ? Отправлено: break от Май 20, 2009, 02:39 там есть псевдополе ROWID - но это наверное не подойдет если вам нужен именно порядковый номер (хотя какое БД имеет понятие о порядковом номере - записи в большинстве таблиц не имеется определенного порядка - даже последующийй селект может вернуть записи в другом порядке)
если бы поддерживал Хранимые процедуры - можно было бы написать такую для выборки записей из вашей таблицы + псевдостолбец с инкрементирующимся int - а так даже если заставите работать предыдущий запрос - на больших объемах данных помрет скореев всего.... Может отселектите query - а потом все данные загоните в другой контейнер и уже там проставите номер записи? То есть все произойдет на клиенте? Название: Re: SQLite3 какой SELECT нужен ? (Решено) Отправлено: -QT- от Май 20, 2009, 08:07 Код: select (select COUNT(0) from goods t1 where t1.name <= t2.name and razmer = 40) as 'npp', name а) Внутренний селект должен повторять внешний по всем условиям выборки. б) Внешний селект должен быть отсортирован по уникальному полю в) Внутренний должен иметь < или <= связь с внешним по тому же полю по которому делается сортировка внешнего Вау!!! Больше спасибо все работает как нужно. |