Php 如何从MySQL中的多个表中选择最低的数字?

Php 如何从MySQL中的多个表中选择最低的数字?,php,mysql,Php,Mysql,如何从三个表中获取每个Id的最低值?因此,当我执行查询时,它会发布如下内容: 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 谢谢 您只需使用UNION组合三个表中的记录并将其包装到子查询中,然后使用MIN()获得每个ID的最低分数 I

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

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

谢谢

您只需使用
UNION
组合三个表中的记录并将其包装到子查询中,然后使用
MIN()
获得每个
ID
的最低分数

Id   LowestScore
1       1
2       2
3       2
输出

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

您只需使用
UNION
组合三个表中的记录并将其包装到子查询中,然后使用
MIN()
获得每个
ID
的最低分数

Id   LowestScore
1       1
2       2
3       2
输出

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

嘿,谢谢!!,一个问题是,有些分数是空的,我怎么能把它们当作0,如果是这样的话,选择它作为最低的分数使用
COALESCE
,例如:
select ID,COALESCE(Score,0)Score FROM table 1
嘿,谢谢!!,一个问题是,有些分数是空的,我怎么能把它们当作0,如果是这样的话,选择它作为最低的分数使用
COALESCE
,例如:
select ID,COALESCE(Score,0)Score FROM table 1