Как удалить дубли из выборки?

1. horoshinkin777 (30.11.2018 / 14:30)
Здравствуйте. Помогите решить проблему.
Как удалить дубли из выборки? вот код
$result = mysqli_query($db, "SELECT id,uid FROM mess WHERE otpravitel = '$my_id' OR poluchatel = '$my_id' ORDER by id DESC");
while ($myrow = mysqli_fetch_array($result))
   {
    echo $myrow['uid'].'<br>';
   }

Добавлено через 02:27 сек.
['uid'] это собеседник

2. horoshinkin777 (30.11.2018 / 16:51)
Никто не знает?((

3. JustZero (30.11.2018 / 17:10)
horoshinkin777, group by можешь попробовать

4. Вантуз-мен (30.11.2018 / 17:47)
horoshinkin777, вот вы любители изобретать велосипеды
прежде чем писать что-то нужно это спроектировать

ты должен решить множество вопросов, до написания структуры, да и во время написания она не раз будет изменена

но когда у тебя возникают вопросы как сделать чтобы работало уже на придуманной тобой структуре это говорит о плохо спроектированной бд

Ты подумал как будешь выводить не саму переписку, а диалоги, кто с кем общался, как вывести последний диалог
как быстро будет работать запрос, будут ли использоваться индексы, какие индексы будут использоваться

я уже писал что дублировать сообщения в базе, входящие - отправленные не совсем плохо, если это окупится быстрым и удобным запросом, с минимумом индексов на колонках

5. horoshinkin777 (01.12.2018 / 03:56)
Вантуз-мен, итак все по минимуму. Одна таблица всего. Список диалогов есть.
Таблица вида
id,otpravitel,poluchatel,uid,text
Где я это либо отправитель либо получатель, а uid жто с кем диалог

6. horoshinkin777 (01.12.2018 / 04:59)
И я не дублирую сообщения

7. Андрей (01.12.2018 / 08:50)
@Vantuz, итак все по минимуму. Одна таблица всего. Список диалогов есть.
Таблица вида
id,otpravitel,poluchatel,uid,text
Где я это либо отправитель либо получатель, а uid жто с кем диалог
@horoshinkin777 (Сегодня / 03:56)
А где ячейка time

8. horoshinkin777 (01.12.2018 / 09:41)
Андрей, в данном случае можно по id сортировать

9. horoshinkin777 (01.12.2018 / 10:25)
В итоге как удалить дубли то кто нить подскажет?

10. JustZero (01.12.2018 / 10:48)
И я не дублирую сообщения
@horoshinkin777 (Сегодня / 04:59)
откуда у тебя тогда дубли берутся?

GROUP BY text

11. Вантуз-мен (01.12.2018 / 18:30)
Where (otpravitel =1 and poluchatel =2) or (otpravitel=2 and poluchatel=1)

12. ZiGR (01.12.2018 / 20:27)
Ты id используешь где-нибудь?

13. horoshinkin777 (02.12.2018 / 07:42)
Нужно удалить дубли uid из выборки. Тоесть удалить дубли диалогов.
id для сортировки.

14. ZiGR (02.12.2018 / 21:40)
SELECT DISTINCT uid FROM mess WHERE otpravitel = '$my_id' OR poluchatel = '$my_id' ORDER by id DESC

Будут тебе уникальные uid.

15. ramzes (03.12.2018 / 13:49)
автору надо для начала над структурой посидеть, если он не может сам из своей бд получить нужное в потребном виде, вероятно он ее спроектировал не продумав как следует, иначе вопрос не появился бы в принципе

16. horoshinkin777 (04.12.2018 / 01:28)
ZiGR, я так пробовал. Сортировка не работает в данном случае. Незнаю почему...

URL: https://visavi.net/topics/44104