gue*_*est 4 mysql join duplication
我有两个 MySQL 表:
\n\n\xe2\x95\x94\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x97\n\xe2\x95\x91 wpss_question_set \xe2\x95\x91\n\xe2\x95\xa0\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\xa3\n\xe2\x95\x91 id \xe2\x95\x91\n\xe2\x95\x91 quesset \xe2\x95\x91\n\xe2\x95\x9a\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x9d\n\n\xe2\x95\x94\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x97\n\xe2\x95\x91 wpss_questions \xe2\x95\x91\n\xe2\x95\xa0\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\xa3\n\xe2\x95\x91 id \xe2\x95\x91\n\xe2\x95\x91 question \xe2\x95\x91\n\xe2\x95\x91 ques_set_id \xe2\x95\x91\n\xe2\x95\x9a\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x9d\n
Run Code Online (Sandbox Code Playgroud)\n\nques_set_id
是外键。查询是:
SELECT\n wpss_quesset.quesset,\n wpss_questions.*\nFROM wpss_quesset\nJOIN wpss_questions \n ON wpss_quesset.id = wpss_questions.ques_set_id;\n
Run Code Online (Sandbox Code Playgroud)\n\nques_set_id
我在和上得到重复的结果quesset
。如何从 \'ques_set_id
和 中选择唯一记录quesset
?
小智 5
如果您想从其他连接表中选择多行中具有相同 FK 的唯一记录,您可以将查询用作
SELECT
wpss_quesset.quesset,
wpss_questions.*
FROM wpss_quesset
JOIN wpss_questions
ON wpss_quesset.id = wpss_questions.ques_set_id
GROUP BY wpss_quesset.id
Run Code Online (Sandbox Code Playgroud)
或者如果您想获取相关 FK 的所有记录,您应该使用 group concat 和 group by
例子
SELECT
wpss_quesset.quesset,
GROUP_CONCAT( wpss_questions.question)
wpss_questions.*
FROM wpss_quesset
JOIN wpss_questions
ON wpss_quesset.id = wpss_questions.ques_set_id
GROUP BY wpss_quesset.id
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
25388 次 |
最近记录: |