0
Lets say I have three tables:
Table1
Id  Score
1     2
2     5
3     5

Table2
Id  Score
1     1
2     2
3     3

Table3
Id  Score
1     4
2     4
3     2

如何从三个表中获取每个 Id 的最小值?因此,当我执行查询时,它会发布如下内容:

Id   LowestScore
1       1
2       2
3       2

谢谢!!

4

1 回答 1

4

您可以简单地使用UNION组合三个表中的记录并将其包装在子查询中,然后用于MIN()获取每个表的最低分数ID

SELECT  ID, MIN(Score) Score
FROM    
        (
            SELECT  ID, Score FROM Table1
            UNION ALL
            SELECT  ID, Score FROM Table2
            UNION ALL
            SELECT  ID, Score FROM Table3
        ) sub
GROUP   BY ID

输出

╔════╦═══════╗
║ ID ║ SCORE ║
╠════╬═══════╣
║  1 ║     1 ║
║  2 ║     2 ║
║  3 ║     2 ║
╚════╩═══════╝
于 2013-05-09T14:53:11.500 回答