如何使用下面给出的表构建MYSQL查询?

如何使用下面给出的表构建MYSQL查询?,mysql,Mysql,我有两个具有主子关系的表 主表: master Id | Name 1 | name1 2 | Name2 子表: ChildId| MasterId | Detail | 1 | 1 | det01 | 2 | 1 | det02 | 3 | 2 | det03 | 4 | 2 | det04 | 5 | 2 | det05

我有两个具有主子关系的表

主表:

master Id | Name 
  1       | name1
  2       | Name2
子表:

ChildId| MasterId | Detail |
  1    |  1       | det01  |
  2    |  1       | det02  |
  3    |  2       | det03  |
  4    |  2       | det04  |  
  5    |  2       | det05  |   
我想要的是:

ChildId| MasterId | Detail |
  5    |  2       | det05  |
  2    |  1       | det02  |

此表由ChildId desc排序,但有一条记录与MasterId相对。请告诉我如何实现这一目标。

这可能就是您想要的:

SELECT MAX(child.ID) as ChildID, master.ID as MasterID, MAX(child.Detail) as Detail
FROM child 
INNER JOIN master 
ON child.MasterID = master.ID
GROUP BY master.ID
ORDER BY child.ID DESC;
在这种情况下,输出为:

ChildID MasterID Detail
5       2        det05
2       1        det02

如果您能提供适当的字段和表名,我可以用它们来更正。

您需要使用聚合函数
max()

试试这个:

SELECT MAX(C.ChildID) as ChildID,C.MasterID,C.Detail
FROM Child C,Master M
WHERE M.master_Id=C.MasterID
GROUP BY C.MasterID
ORDER BY C.MasterID DESC
结果:

CHILDID MASTERID    DETAIL
5        2          det03
2        1          det01
请参见中的结果。

可能重复的
CHILDID MASTERID    DETAIL
5        2          det03
2        1          det01