Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте, сижу мучаю sql никак до меня не доходит, как сделать группировку по уникальным запросам.
Есть таблица:
table1 (примерно могут быть такие данные).
------------------------------------
--id----ot----komy----date-------
------------------------------------
--1----1-----2-------DATE-------
--2----1----2--------DATE------
--3----2----1-------DATE-------
Я тут навоял чутка:
(select ot from table1 where komy='$uid' order by date) UNION ( select komy from table1 where ot='$uid' order by date)
Задача, выбрать только уникальные ot,komy - решена. НО, дополнительно нужно еще сортировать по date, т.е новые вверху - не решена
В итоге я получаю правильные список уникальных ot,komy но не могу отсортировать их по date. Если в select добавляешь еще date, то он соответственно и по дате уникальной ищет, в итоге по 100 раз выводит одинаковый ot.
Подскажите пожалуйста!
Неактивен
не очень понятно, покажите какой результат вы хотите поучить на этих тестовых данных
Неактивен
В результате мне нужно что бы вот этот запрос:
(select ot from table1 where komy='$uid') UNION ( select komy from table1 where ot='$uid')
Группировался по дате
Неактивен
Еще проще, вот таблица выглядит вот так:
в результате запроса - (select ot from table1 where komy='$uid') UNION ( select komy from table1 where ot='$uid')
выводит:
А должен по date, т.е:
142
3
85
Отредактированно Webing (24.10.2018 17:17:56)
Неактивен
ot = 38 встречается в таблице несколько раз с разными датами
какая из дат должна учитываться при сортировке?
https://sqlinfo.ru/articles/info/18.html
Неактивен
Должна учитываться последняя дата уникальной записи komy.
В данном примере: ----------
| Здесь видим, что по дате, самая новая вверху, самая старая внизу.
| Вот такой результат должен получиться.
ot 38, komy - 142, date - 2018-10-24 15:35:47
ot 38, komy - 3, date - 2018-06-03 18:32:36
ot 38, komy - 85, date - 2018-03-24 16:03:26
Отредактированно Webing (25.10.2018 03:55:04)
Неактивен
если я правильно понял, то
Неактивен
Все отлично работает как нужно!! Спасибо огромное!!
Подскажите, по group by. 1 и 2 это номера запросов? Там же вроде group by ot, а во втором - group by komy.
Неактивен
1 и 2 это номера полей после select, т.е. группируем по первому - ot, сортируем по второму - max(`mdate`)
Неактивен