Я хочу получить только строки с уникальным значением для определенного поля (на самом деле 2).Моя таблица выглядит так:
id senderID receiverID ... ... ...
_________________________________________________
0 0 1 ... ... ...
1 2 1 ... ... ...
2 1 0 ... ... ...
3 0 2 ... ... ...
4 2 0 ... ... ...
5 1 2 ... ... ...
В этой таблице id
уникально всегда .senderID
- это идентификатор пользователя, отправившего сообщение, receiverID
- это идентификатор пользователя, получившего сообщение....
- это некоторые поля (например, text
), которые на самом деле не имеют значения, и они также не уникальны.
Итак, прежде всего, я хочу получить все строки, где я (# 1)отправитель или получатель.
SQL: "SELECT id FROM table WHERE senderID='1' OR receiverID='1'";
Это вернет (0, 1, 2, 5)
.
Но сейчас я хочу только все уникальные записи.Итак, условия:
1
должен быть идентификатором отправителя или получателя. if ((senderID == '1' && "__ receiverID is not yet listed__") || (receiverID == '1' && "__ senderID is not yet listed__"))
в псевдокоде.
Окончательный вариантвозвращаемое значение должно быть (0, 1)
.
Как мне это сделать в (My) SQL?Я знаю, как сделать это с помощью PHP, но когда тысячи записей, это уже недостаточно быстро.
С уважением,
Тим