如何使用 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_name
从 table_name;
http://www.w3schools.com/sql/sql_distinct.asp
我在 Whosebug 上查看了同一个问题的其他几个答案,但我无法使它们中的任何一个起作用。
提前谢谢你。
尝试使用方括号 DISTINCT(您的列)或使用 GROUP BY。
如何让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_name 从 table_name;
http://www.w3schools.com/sql/sql_distinct.asp
我在 Whosebug 上查看了同一个问题的其他几个答案,但我无法使它们中的任何一个起作用。
提前谢谢你。
尝试使用方括号 DISTINCT(您的列)或使用 GROUP BY。