Помогите понять почему во вложеном sql запрос не работает сортировка

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Аватара пользователя
mika_di
Сообщения: 218
Зарегистрирован: 2015.09.24, 11:57

Помогите понять почему во вложеном sql запрос не работает сортировка

Сообщение mika_di »

Задача сделать сортировку перед групировкой, пошел по такому пути

Код: Выделить всё

SELECT * FROM (SELECT * FROM `fed_dir` WHERE `director_id`= 1 AND `regeon`='БЕЛГОРОД' AND `date` BETWEEN '2017-11-21' AND '2017-11-25'  order by `date` DESC) as `table` group by `priziv`;
Но в этом варианте не работает сортировка ?
Аватара пользователя
mika_di
Сообщения: 218
Зарегистрирован: 2015.09.24, 11:57

Re: Помогите понять почему во вложеном sql запрос не работает сортировка

Сообщение mika_di »

Просто группирует по первой строчке, то есть без сортировки
Аватара пользователя
mika_di
Сообщения: 218
Зарегистрирован: 2015.09.24, 11:57

Re: Помогите понять почему во вложеном sql запрос не работает сортировка

Сообщение mika_di »

запрос

Код: Выделить всё

SELECT * FROM (SELECT * FROM `fed_dir` WHERE `director_id`= 1 AND `regeon`='БЕЛГОРОД' AND `date` BETWEEN '2017-11-21' AND '2017-11-25'  order by `date` DESC) as `table`;
скриншот
http://screenshot.su/show.php?img=303da ... e6513a.jpg
и вот такой запрос

Код: Выделить всё

SELECT * FROM (SELECT * FROM `fed_dir` WHERE `director_id`= 1 AND `regeon`='БЕЛГОРОД' AND `date` BETWEEN '2017-11-21' AND '2017-11-25'  order by `date` ASC) as `table`;
скриншот
http://screenshot.su/show.php?img=2b00a ... 54db4e.jpg
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Помогите понять почему во вложеном sql запрос не работает сортировка

Сообщение ElisDN »

Код: Выделить всё

order by `date` ASC

Код: Выделить всё

date
----------
2017-11-21
2017-11-22
2017-11-23
2017-11-24
2017-11-25
Проблема-то в чём?
Аватара пользователя
mika_di
Сообщения: 218
Зарегистрирован: 2015.09.24, 11:57

Re: Помогите понять почему во вложеном sql запрос не работает сортировка

Сообщение mika_di »

То что когда пишу desc результат тот же
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Помогите понять почему во вложеном sql запрос не работает сортировка

Сообщение zelenin »

mika_di писал(а): 2018.01.18, 10:55 запрос

Код: Выделить всё

SELECT * FROM (SELECT * FROM `fed_dir` WHERE `director_id`= 1 AND `regeon`='БЕЛГОРОД' AND `date` BETWEEN '2017-11-21' AND '2017-11-25'  order by `date` DESC) as `table`;
скриншот
http://screenshot.su/show.php?img=303da ... e6513a.jpg
и вот такой запрос

Код: Выделить всё

SELECT * FROM (SELECT * FROM `fed_dir` WHERE `director_id`= 1 AND `regeon`='БЕЛГОРОД' AND `date` BETWEEN '2017-11-21' AND '2017-11-25'  order by `date` ASC) as `table`;
скриншот
http://screenshot.su/show.php?img=2b00a ... 54db4e.jpg
а сам вложенный запрос какой результат выдает?
Аватара пользователя
mika_di
Сообщения: 218
Зарегистрирован: 2015.09.24, 11:57

Re: Помогите понять почему во вложеном sql запрос не работает сортировка

Сообщение mika_di »

Все нормально сортирует в соответствии с ASC и DESC
Аватара пользователя
mika_di
Сообщения: 218
Зарегистрирован: 2015.09.24, 11:57

Re: Помогите понять почему во вложеном sql запрос не работает сортировка

Сообщение mika_di »

Проблема началась, когда я поместил его в подзапрос
Аватара пользователя
mika_di
Сообщения: 218
Зарегистрирован: 2015.09.24, 11:57

Re: Помогите понять почему во вложеном sql запрос не работает сортировка

Сообщение mika_di »

Так, а группировать потом как? Вытащил. я сортировку в верхний запрос, мне опять ошибка, сначала группируй потом сортируй
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Помогите понять почему во вложеном sql запрос не работает сортировка

Сообщение zelenin »

mika_di писал(а): 2018.01.18, 11:54 Так, а группировать потом как?
как группировали.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Помогите понять почему во вложеном sql запрос не работает сортировка

Сообщение zelenin »

mika_di писал(а): 2018.01.18, 11:54 Так, а группировать потом как? Вытащил. я сортировку в верхний запрос, мне опять ошибка, сначала группируй потом сортируй
местами поменяйте order by и group by (это не про подзапрос)
Аватара пользователя
mika_di
Сообщения: 218
Зарегистрирован: 2015.09.24, 11:57

Re: Помогите понять почему во вложеном sql запрос не работает сортировка

Сообщение mika_di »

Код: Выделить всё

SELECT * FROM  `fed_dir` as `table`  WHERE `table`.`director_id`= 1 AND `table`.`regeon`='БЕЛГОРОД' AND `table`.`date` BETWEEN '2017-11-21' AND '2017-11-25'  ORDER BY `date` DESC  GROUP by priziv;
ошибка
Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'GROUP by priziv' at line 1
Аватара пользователя
mika_di
Сообщения: 218
Зарегистрирован: 2015.09.24, 11:57

Re: Помогите понять почему во вложеном sql запрос не работает сортировка

Сообщение mika_di »

С этого и начался топик, мне нужно, сначала отсортировать, потом сгруппировать
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Помогите понять почему во вложеном sql запрос не работает сортировка

Сообщение zelenin »

mika_di писал(а): 2018.01.18, 12:21 С этого и начался топик, мне нужно, сначала отсортировать, потом сгруппировать
зачем?
почему нельзя select * from ( ... group by ) order by или select * from ... group by order by?
Аватара пользователя
mika_di
Сообщения: 218
Зарегистрирован: 2015.09.24, 11:57

Re: Помогите понять почему во вложеном sql запрос не работает сортировка

Сообщение mika_di »

Смотрите. например выборка возвращает 4 строчки
id date data
1. 2016 просто информация
2. 2016 Очень важная информация
3. 2017 просто информация
4. 2017 Очень важная информация


после первой группировки будет так
1. 2016 просто информация
2. 2017 просто информация

а мне грубо говоря, нужно так
1. 2016 Очень важная информация
2. 2017 Очень важная информация
Ответить