如何使用下面给出的表构建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