Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 在联接时从第二个表中获取最大值行_Mysql - Fatal编程技术网

Mysql 在联接时从第二个表中获取最大值行

Mysql 在联接时从第二个表中获取最大值行,mysql,Mysql,我有两个表,第一个表保留名称,第二个表在in=cid上与之相关。我只需要从第二个表中获取最高日期行一次。请看下面更清楚的解释: 表1 a +----+-------+ | id | name | +----+-------+ | 1 | name1 | | 2 | name2 | | 3 | name3 | | 4 | name4 | | 5 | name5 | +----+-------+ 表2 c +----+-------+------------+ | id | cid

我有两个表,第一个表保留名称,第二个表在in=cid上与之相关。我只需要从第二个表中获取最高日期行一次。请看下面更清楚的解释:

表1 a

+----+-------+
| 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!?!?!