如何使用 table 连接使 MySQL DISTINCT 与多个列一起工作?

How to make MySQL DISTINCT work with multiple columns using table join?

如何让select下面的查询只有一条记录?每场比赛有两条记录(每队一条记录)。如果有九 (9) 场比赛,则会有十八 (18) 条记录。我想 select 每场比赛只有一个记录,而不是两个记录。

如果我只对一列 (game_id_2) 使用 DISTINCT,它工作正常,或者 returns 只有九个记录。但是,如果我尝试添加更多列,DISTINCT 指令将不再有效。

SELECT DISTINCT
B.game_id_2,
B.GmeYear,
B.GmeMonth,
B.GmeDay,
B.GmeDate,
B.GmeTime,
B.GmeOrd,
B.Home,
B.DivPlay,
L.Instit,
FROM BsbGme B LEFT JOIN LeagueTeam L
ON B.team_id = L.team_id
WHERE B.NonD1=''
AND B.team_id IN ($participant_str)
AND B.GmeMonth = $GameMonth
AND B.GmeDay = $GameDay
ORDER BY B.game_id_2 ASC

根据 w3schools dot come 的说法,DISTINCT 指令应该与多列一起使用。但在我的示例中它不适用于多列。

w3schools 示例:

SQL SELECT DISTINCT 语法 SELECT 不同的 column_name,column_nametable_name;

http://www.w3schools.com/sql/sql_distinct.asp

我在 Whosebug 上查看了同一个问题的其他几个答案,但我无法使它们中的任何一个起作用。

提前谢谢你。

尝试使用方括号 DISTINCT(您的列)或使用 GROUP BY。