如何从游戏表中选择获胜队伍ID

时间:2019-05-14 10:57:22

标签: mysql sql

Game Table
-----------------
id 
home_user_id 
home_goal 
guest_goal 
guest_user_id

如何选择所有获胜用户ID?

2 个答案:

答案 0 :(得分:0)

如果home_goalguest_goal相同怎么办?如果这种情况永远不会发生,您可以执行以下操作:

SELECT 
    IF(home_goal > guest_goal,
        home_user_id,
        guest_user_id) AS winning_user_id
FROM
    `games`
WHERE
    home_goal != guest_goal;

答案 1 :(得分:-1)

您可以使用CASE表达式来获得主队进球数超过客队和客队类似物的主队。

SELECT CASE
         WHEN home_goal > guest_goal THEN
           home_user_id
         WHEN guest_goal > home_goal THEN
           guest_user_id
       END
       FROM elbat;

尽管并没有真正的赢家,但如果平局将返回null。在这种情况下,您必须弄清楚自己想要拥有什么。