Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вывод данных отсортированных по дате по порядку / 5 сообщений из 5, страница 1 из 1
11.01.2020, 19:57
    #39912853
minioracle
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод данных отсортированных по дате по порядку
Доброе время суток.
Подскажите пожалуйста, как правильно отсортировать данные по порядку?
так как при попытке вывести данные:
Код: sql
1.
select distinct(to_char(dtimed,'mm.yyyy')) as iuy from lic_w where po=1 order by iuy asc;


Получается что 01.2020 выводится не отсортированным по году а по месяцу, как отсортировать что бы все было по порядку?
...
Рейтинг: 0 / 0
11.01.2020, 22:24
    #39912884
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод данных отсортированных по дате по порядку
minioracle,

Код: plsql
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.
62.
63.
64.
65.
66.
67.
68.
69.
SQL> select  distinct(to_char(hiredate,'mm.yyyy')) dt
  2    from  emp
  3    order by dt
  4  /

DT
-------
01.1982
02.1981
04.1981
04.1987
05.1981
05.1987
06.1981
09.1981
11.1981
12.1980
12.1981

11 rows selected.

SQL> select  to_char(trunc(hiredate,'mm'),'mm.yyyy') dt
  2    from  emp
  3    group by trunc(hiredate,'mm')
  4    order by trunc(hiredate,'mm')
  5  /

DT
-------
12.1980
02.1981
04.1981
05.1981
06.1981
09.1981
11.1981
12.1981
01.1982
04.1987
05.1987

11 rows selected.

SQL>  with t as (
  2             select  distinct(trunc(hiredate,'mm')) dt_mm
  3               from  emp
  4            )
  5  select  to_char(dt_mm,'mm.yyyy') dt
  6    from  t
  7    order by dt_mm
  8  /

DT
-------
12.1980
02.1981
04.1981
05.1981
06.1981
09.1981
11.1981
12.1981
01.1982
04.1987
05.1987

11 rows selected.

SQL> 



SY.
...
Рейтинг: 0 / 0
11.01.2020, 23:24
    #39912893
minioracle
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод данных отсортированных по дате по порядку
SY
minioracle,

SY.

Спасибо, работает!

А как можно потом вывести все уникальные не повторяющиеся даты определенного месяца?
Код: plsql
1.
select DISTINCT(to_char (dtimed,'dd.mm.yyyy')) as iuy from LIC_W where po=1 AND dtimed >= to_date('09.2019','mm.yyyy') order by iuy asc;


При этом я не могу знать сколько дней в месяце, что бы строить запрос
Код: plsql
1.
2.
select distinct(to_char(dtimed,'dd.mm.yyyy')) as iuy  from LIC_W where po=1 AND dtimed >= to_date ('01.09.2019','dd.mm.yyyy') 
            AND (dtimet  <= to_date ('30.09.2019','dd.mm.yyyy')) order by iuy asc
...
Рейтинг: 0 / 0
11.01.2020, 23:24
    #39912894
minioracle
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод данных отсортированных по дате по порядку
...
Рейтинг: 0 / 0
11.01.2020, 23:40
    #39912896
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод данных отсортированных по дате по порядку
Даты за месяц это:

Код: plsql
1.
2.
WHERE dtimed >= date '2019-09-01'
   AND dtimed < date '2019-10-01'



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


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