Предполагая, что поле Users.Id уникально, автоматически увеличивается МОЙ ГЛАВНЫЙ ВОПРОС: "Отличается" ли в этом запросе, что-либо делать, совершенно бессмысленно иметь его в этом конкретном запросе?
SELECT DISTINCT users.id, CONCAT(users.firstname, ' ', users.surname) AS name FROM users
WHERE users.id!=$me AND (LOWER(users.firstname) LIKE '$term%' AND (email='$email' OR username='$email'))
-
Если запрос был изменен на:
SELECT DISTINCT users.surname, firstname, surname
FROM users WHERE surname = 'Smith''
Тогда я могу получить в качестве результата только Джейн Смит или Джона Смита, но не их обоих или кого-либо еще с именем Смит, верно?
(Верхний запрос является оригиналом)
DISTINCT users.surname, firstname, surname
тогда вы можете быть уверены, что получите только отдельные значения для этих выбранных полей. Если у вас есть Джейн Смит и Джон Смит, обе эти записи все равно будут перечислены. Если у вас есть 2 или более Джона Смита, хотя, например, вы получите только одну отдельную запись для Джона Смита, но не обе, используяDISTINCT
может использоваться для одного или нескольких полей, гарантируя, что эти записи полей не являются дублирующимися значениями (т.е. различаются), где все значения одинаковы. w3schools.com/sql/sql_distinct.asp