因此,脚本显示了这些值,但使用相同的电子邮件和日期复制了许多值。您需要获取唯一的值,例如,可能有相同的电子邮件,但日期不同。但是日期相同的电子邮件也不相同。 SELECT之后的DISTINCT不起作用,并且不能在每个字段之前应用它。 分组和排序也不能添加两个以上的字段。当我接受按电子邮件分组时,它显示所有唯一值,但不显示两个相同的电子邮件但日期不同时也需要的值,它愚蠢地显示一封电子邮件,仅此而已。 该怎么做。
SELECT concat(last_name, ' ', first_name, ' ', middle_name) as 'ФИО',
email,
phone,
created_at,
total,
color
FROM user
INNER JOIN `user` ON `order`.user_id = `user`.id
INNER JOIN `color` ON `user`.color_id = `color`.id
答案 0 :(得分:0)
您需要在SELECT之后使用关键字DISTINCT。 示例:
SELECT DISTINCT concat(last_name, ' ', first_name, ' ', middle_name) as 'ФИО',
email,
phone,
created_at,
total,
color
FROM user
答案 1 :(得分:0)
您已经通过组合三个表中的字段来对结果进行排序:
SELECT concat(last_name, ' ', first_name, ' ', middle_name) as 'ФИО', email, phone, created_at, total, color, o.PRIMARY_KEY_HERE, c.id FROM user AS u INNER JOIN `order` AS o ON o.user_id = u.id INNER JOIN `color` AS c ON c.id = u.color_id ORDER BY u.email, o.PRIMARY_KEY_HERE, c.id
注意 该查询已被重构以满足ORDER BY子句。