Mysql 在联接时从第二个表中获取最大值行
我有两个表,第一个表保留名称,第二个表在in=cid上与之相关。我只需要从第二个表中获取最高日期行一次。请看下面更清楚的解释: 表1 aMysql 在联接时从第二个表中获取最大值行,mysql,Mysql,我有两个表,第一个表保留名称,第二个表在in=cid上与之相关。我只需要从第二个表中获取最高日期行一次。请看下面更清楚的解释: 表1 a +----+-------+ | id | name | +----+-------+ | 1 | name1 | | 2 | name2 | | 3 | name3 | | 4 | name4 | | 5 | name5 | +----+-------+ 表2 c +----+-------+------------+ | id | cid
+----+-------+
| id | name |
+----+-------+
| 1 | name1 |
| 2 | name2 |
| 3 | name3 |
| 4 | name4 |
| 5 | name5 |
+----+-------+
表2 c
+----+-------+------------+
| id | cid | galiojaiki |
+----+-------+------------+
| 1 | 1 | 2015-04-30 |
| 2 | 1 | 2015-09-30 |
| 3 | 1 | 2015-03-10 |
| 4 | 2 | 2015-06-30 |
| 5 | 2 | 2015-07-30 |
| 6 | 3 | 2015-05-11 |
| 7 | 4 | 2015-05-10 |
+----+-------+------------+
预期结果:
+------------+-------+
| galiojaiki | name |
+------------+-------+
| 2015-09-30 | name1 |
| 2015-07-30 | name2 |
| 2015-05-11 | name3 |
| 2015-05-11 | name4 |
+------------+-------+
我的问题是:
SELECT a.*, c.galiojaiki FROM `y6fdt_igym_abonementai` AS a
INNER JOIN
(
SELECT max(galiojaiki) FROM y6fdt_igym_sutartys
) c
on c.cid= a.id
GROUP BY c.abonementas
如何使用MAX创建一个简单的聚合 差不多
SELECT a.name,
MAX(b.galiojaiki) as galiojaiki
FROM `y6fdt_igym_abonementai` AS a INNER JOIN
`y6fdt_igym_sutartys` as b ON a.ID = b.CID
GROUP BY a.name
那么cid是a.id?你能把它弄得更混乱些吗?4是10,不是11!?!?!