찾다

 >  Q&A  >  본문

Mysql DISTINCT는 여전히 중복된 값을 반환합니다.

들어가지 않는 방법 friends 上重复,我仍然得到两个 bob,而不是只有一个 bob

내 테이블 설정:

으아악

내가 사용한 쿼리:

으아악

현재 결과:

으아악

내 기대:

CREATE TABLE users(
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(255)
);

INSERT INTO users (id, name)
VALUES (1, "Gregor"),
    (2, "Liza"),
    (3, "Matt"),
    (4, "Tim"),
    (5, "Lance"),
    (6, "Bob");
    
CREATE TABLE committee(
    id INT PRIMARY KEY AUTO_INCREMENT,
    user_id INT,
    friend_id INT,
    member_id INT,
    FOREIGN KEY (`user_id`) REFERENCES `users` (`id`),
    FOREIGN KEY (`friend_id`) REFERENCES `users` (`id`),
    FOREIGN KEY (`member_id`) REFERENCES `users` (`id`)
);
INSERT INTO committee (user_id, friend_id, member_id)
VALUES (3, 5, 1),
(4, 5, 1),
(3, 6, 2),
(3, 6, 2),
(4, 6, 2);

P粉369196603P粉369196603346일 전401

모든 응답(2)나는 대답할 것이다

  • P粉706038741

    P粉7060387412024-02-22 00:49:54

    당신의 u.name은 f.name과 다릅니다

    이것을 시도해 보세요

    으아아아

    회신하다
    0
  • P粉714844743

    P粉7148447432024-02-22 00:23:39

    다음은 GROUP_CONCAT() 中使用 DISTINCT:

    만 하면 됩니다. 으아아아

    SELECT DISTINCT ... 在您的查询中没有意义,因为您使用的是 GROUP BY 각 사용자마다 다른 행을 반환합니다.

    보기 데모.

    회신하다
    0
  • 취소회신하다