порядок и группа mysql - PullRequest
       36

порядок и группа mysql

0 голосов
/ 24 мая 2018

я новичок в запросе mysql

у меня есть строки таблицы и значение, подобное этому

введите описание изображения здесь

я хочу выбрать изтаблица: упорядочить по убыванию идентификатора и сгруппировать по телефону, чтобы результат был таким

введите описание изображения здесь

Пожалуйста, помогите мне любое тело ..

я уже поставил вот так

выбрать * из сообщений, где 1 группа по телефону заказывается по идентификатору desc

, но это неправильно

спасибо

Ответы [ 3 ]

0 голосов
/ 24 мая 2018

Это не будет работать с группой, вместо этого попробуйте запрос ниже

SELECT text,phone
FROM @tblPhone tmp
WHERE id = (SELECT MAX(Id) FROM @tblPhone tmp1 WHERE tmp1.PHONE = tmp.Phone)
ORDER BY Id desc
0 голосов
/ 24 мая 2018

Чтобы получить последнее сообщение по атрибуту телефона, вы можете использовать самостоятельное соединение

select a.*
from messages a
join (
    select phone, max(id) id
    from messages
    group by phone
) b on a.phone = b.phone and a.id = b.id

Или использовать левое соединение

select a.*
from messages a
left join messages b on a.phone = b.phone and a.id < b.id
where b.phone is null
0 голосов
/ 24 мая 2018

Попробуйте запрос ниже

select phone, text from messages group by phone order by id DESC
...