繁体   English   中英

如何从 mysql 的表中每个 id 的第一行 select?

[英]how to select first row from each id in a table in mysql?

我有 2 个表 - 第一个表为“estate_infos”,第二个表为“img_info”。

我将“estate_infos”的 id 存储在“img_info”中作为“estate_infos_id”,这是一个外键 id,如下所示- 表格截图

我想 select 每个“estate_infos_id”中的黄色标记行,这是每个“estate_infos_id”的第一行。 那么,我该如何实现呢?

ps:我的mysql版本是7.4.10

您可以连接这两个表,然后进行子 select 连接,您可以在其中为每个 Estate_infos 取出最小的 img_id(第一行),然后加入:

SELECT i.*, e.*
FROM estate_infos e
join img_info i ON i.estate_infos_id = e.id
JOIN (
    SELECT MIN(img_id) img_id, estate_infos_id FROM img_info GROUP BY estate_infos_id
) m
WHERE i.img_id = m.img_id

然后只需将 select 更改为您需要的实际字段。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM