您的位置:首页 > 数据库 > MySQL

mysql:取group by第一条数据

2018-03-31 11:37 357 查看

mysql:取group by第一条数据

示例数据(表enterprise_info)

SELECT * FROM enterprise_info;


idnamegdpupdate_time
1讯腾2402018/3/31 2:49
2度百1202018/3/24 2:50
3里阿3402018/3/25 0:00
4里阿4602018/3/28 0:00
5里阿5302018/2/25 0:00
6里阿4502018/1/25 0:00
7讯腾3202018/1/12 0:00
8讯腾4352018/3/24 0:00
9讯腾5642018/2/15 0:00
10度百4352018/3/31 0:00
11度百6752018/2/22 0:00
12度百2322018/3/30 0:00
数据说明:

- 共有三个name:讯腾、度百、里阿

- id与update_time不是正相关的关系

目标

获取三个name的最新数据,并插入到新表(n_enterprise_info)中

步骤一:创建新表

CREATE TABLE n_enterprise_info LIKE enterprise_info;


步骤二:查询并插入结果

INSERT INTO n_enterprise_info(name, gdp, update_time)
SELECT en.name, en.gdp, en.update_time FROM enterprise_info en
JOIN (
SELECT name, max(update_time) up_time
FROM enterprise_info
GROUP BY name ORDER BY update_time DESC
) tmp
ON en.name = tmp.name AND en.update_time = tmp.up_time;


结果示例

SELECT * FROM n_enterprise_info;


idnamegdpupdate_time
1讯腾2402018/3/31 2:49
2里阿4602018/3/28 0:00
3度百4352018/3/31 0:00
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql