mysql 数据库中如何取一组中的最大值?

简单生活_cocoa 2012-02-16 11:18:52
表Table有字段Id,Code,Var,TDate

TDate是DateTime类型的,每条都不一样,Id是自增列,Code和Var都有重复项。

表数据如下(Id项省略):
Code Var TDate
---------------------------
1.1.1 A Time1
1.1.2 A Time2
e.3.r A Time3
t.f.f A Time4
1.1.1 A Time5
1.1.1 A Time6
1.1.1 A Time7
1.1.1 B Time8
1.1.3 B Time9
t.f.f C Time10

Time1 到 Time10 按照时间从小到到

现在我想得到的是对于每个 Var和Code的组合 得到最小的TDate,该怎么做?

...全文
856 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwwwb 2012-02-16
  • 打赏
  • 举报
回复
SELECT Var,Code,MIN(TDate) FROM TT GROUP BY Var,Code
ACMAIN_CHM 2012-02-16
  • 打赏
  • 举报
回复
INSERT INTO Table2(Var,Code,TDate)
SELECT Var,Code,MIN(TDate) FROM Table GROUP BY Var,Code

这个语句本身没有什么可优化的。 如果要提高效率,则需要在表中添加 ( Var,Code,TDate) 的复合索引

create index x on Table ( Var,Code,TDate )
简单生活_cocoa 2012-02-16
  • 打赏
  • 举报
回复
问题补充:我的数据量特别大,大概有1千多万条。

想要将这张表以

SELECT Var,Code,MIN(TDate) FROM Table GROUP BY Var,Code

的方式插入到一张一摸一样字段的表Table2中,这样的语句:

INSERT INTO Table2(Var,Code,TDate)
SELECT Var,Code,MIN(TDate) FROM Table GROUP BY Var,Code

如何提高效率呢?
简单生活_cocoa 2012-02-16
  • 打赏
  • 举报
回复
[Quote=引用楼主 kafei_kings 的回复:]
表Table有字段Id,Code,Var,TDate

TDate是DateTime类型的,每条都不一样,Id是自增列,Code和Var都有重复项。

表数据如下(Id项省略):
Code Var TDate
---------------------------
1.1.1 A Time1
1.1.2 A Time2
e.3.……
[/Quote]


问题补充:我的数据量特别大,大概有1千多万条。

想要将这张表以

SELECT Var,Code,MIN(TDate) FROM Table GROUP BY Var,Code

的方式插入到一张一摸一样字段的表Table2中,这样的语句:

INSERT INTO Table2(Var,Code,TDate)
SELECT Var,Code,MIN(TDate) FROM Table GROUP BY Var,Code

如何提高效率呢?
ACMAIN_CHM 2012-02-16
  • 打赏
  • 举报
回复
select Code ,Var ,min(TDate)
from 表Table
group by Code ,Var
爱在丽江leslex 2012-02-16
  • 打赏
  • 举报
回复
楼上的

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧