powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Сортировка строк с чередующимися значениями
3 сообщений из 3, страница 1 из 1
Сортировка строк с чередующимися значениями
    #39388074
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

Есть табла:

id | url | group
-----------
1 выв 1
2 цыв 1
3 выв 1
4 выв 1
5 выв 1
6 выв 2
7 цыв 2
8 выв 2


как отсортировать в Tsql так, чтобы запрос вернул:
выв 1
цыв 2
выв 1
выв 2
выв 1
выв 2
цыв 1
выв 2
выв 1
выв 2

то есть выдал данные в шахматном порядке, одна строка с первой группы, вторая со второй и т д

нашел вот такое решение:

Код: sql
1.
2.
3.
4.
5.
6.
7.
select id , bit 
from
(
select id, bit, case when bit=0 then 0 else 0.5 end + row_number() over (partition by bit order by id) r_n 
from tmp 
) a 
order by r_n



но оно для sql lite не работает

я на c# пишу, может как то с DataTable манипулировать...
Значения потом в цикле обрабатываю:
Код: c#
1.
2.
3.
4.
5.
6.
7.
 DataTable dtURLS = MyDbFacadeSQLite.Execute("SELECT id, url, Groupp FROM URL WHERE DONE = 0");

                          

                foreach (DataRow row in dtURLS.Rows)
                {
....
...
Рейтинг: 0 / 0
Сортировка строк с чередующимися значениями
    #39388748
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sputnick,

А что ты будешь делать если у тебя сотня строк в группе 1 и три строки в группе 2?
А если в этот массив попадется строка с группой 3?
А строки из одной группы, как между собой сортировать?

http://www.sql.ru/forum/983207/kak-prosit-pomoshhi-s-zaprosom
...
Рейтинг: 0 / 0
Сортировка строк с чередующимися значениями
    #39388900
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlSputnick,

А что ты будешь делать если у тебя сотня строк в группе 1 и три строки в группе 2?
А если в этот массив попадется строка с группой 3?
А строки из одной группы, как между собой сортировать?

http://www.sql.ru/forum/983207/kak-prosit-pomoshhi-s-zaprosom

да, согласен, вопросы по мере появились... но я хоть и топорно но решил:

получаю количество строк в базе, запускаю цикл на это количество, внутри цикла делаю запрос:

выбрать одну запись которую еще не обрабатывали и группа которой равна 1

в цикле +1 к номеру группы делаю, когда номер группы дошел до максимума, в моем верхнем примере - 2, то опять присваиваю единицу.

приложение с массой таймингов, поэтому быстродействие там совсем не нужно, даже паузы нужны, так что в моем случае это решение.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Сортировка строк с чередующимися значениями
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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