У меня есть поле поле pipe_n
, в котором данные лежат так:
1
22
4
66
10
5
Мне нужно так:
5
10
66
4
22
1
Такое возможно?
Делаю отчет в mvc web form или может в программе такое возможно?
Данные записываются из программы тупо по очереди, исходника программы у меня нет, только БД с данными, и мне их нужно вывести в обратном порядке.
Поля ID в базе нет, а group by
на это поле сортирует его по порядку, что мне не нужно.
TL;DR Порядок считывания строк из таблицы никоим образом не зависит от порядка, в котором эти строки были записаны, или другими словами - от порядка вставки.
Без явного указания сортировки с order by
, порядок вывода строк произволен и может менятся от вызова к вызову одного и того же запроса.
Попробуем:
create table pipes (pipe_n number);
insert into pipes (pipe_n)
select column_value pipe_n
from sys.ODCINumberList (1, 22, 4, 66, 10, 5)
;
select pipe_n
from pipes
order by rownum desc;
PIPE_N
----------
5
10
66
4
22
1
Работает? Вроде да, результат же достигнут. Нет, это иллюзия, это "бомба замедленного действия". Сколько она будет тикать - никто не знает, может месяц, год, два.
Ещё раз, порядок считывания строк из таблицы не зависит от порядка их записи и он произволен. То есть то, что значению, например, pipe_n=5
будет всегда присвоено rownum=6
не гарантируется.
Поля ID в базе нет
Создайте, это и будет лучшее решение:
rollback;
alter table pipes add order_of_ins number generated always as identity (nocache);
И после вставки приведённой выше, запрос:
select pipe_n
from pipes
order by order_of_ins desc;
Выведет желаемый результат как и выше, но он гарантирован и никогда не изменится.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Подскажите, а как можно реализовать работу сочетаний клавиш в консоли?
только начинаю работать с C#, тут возник вопросУ меня есть тут много элементов (стрелок), у которых действия при нажатии почти идентичны, лишь...
Можно ли как то реализовать checklist, что бы отображался один текст, и к нему привязана другая строка? Опишу по подробнее, начал осваивать С#Есть...