首页 > 解决方案 > id 始终出现在连接表选择中

问题描述

这是我原帖的后续问题。

我有我想要的结果,但想知道是否有办法让结果第一列中的 player_id 始终相同?我创建了一个sqlfiddle来演示我的意思。在 sqlfiddle 结果中,我希望玩家 10 始终排在第一位,因此以下统计信息与玩家 10 相关,如果这有意义的话。现在看来,第一列取决于表中的条目顺序。选择语句如下:

SELECT 
t1.player_id,t1.sb_stats_id,t1.sb_stats_AB,t1.sb_stats_runs,
t1.sb_stats_hits,t1.sb_stats_HR,t1.sb_stats_team, 
t2.player_id,t2.sb_stats_team,t2.sb_stats_id  
FROM softball_stats t1 INNER JOIN softball_stats t2 
ON t1.game_id=t2.game_id AND t1.sb_stats_team=t2.sb_stats_team 
AND t1.sb_stats_id < t2.sb_stats_id  
WHERE t1.player_id IN (10,11) AND t2.player_id IN (10,11);

我已经尝试了各种 group by,order by 最后的陈述,但我没有任何运气。

标签: mysql

解决方案


我想我想通了。我需要在 select 语句中将过滤器 t1.sb_stats_id < t2.sb_stats_id 更改为 t1.player_id < t2.player_id。现在结果以我希望的方式显示在 t1 和 t2 连接表中。


推荐阅读