首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL如何选择几行几乎相同的一个字段中最大的行?

问SQL如何选择几行几乎相同的一个字段中最大的行?
EN

Stack Overflow用户
提问于 2015-06-01 14:58:31
回答 2查看 38关注 0票数 1

假设我有三行关于批量购买水果的合同的如下数据。

代码语言:javascript
复制
NAME ---- LOCATION ---- EXPIRATION DATE
Apples    Pittsburgh    10/10/2015
Apples    Pittsburgh    1/2/2016
Apples    Pittsburgh    12/31/2015

如果我有一个庞大的实体列表,其中一些水果有多个条目,并且我希望总是选择最新的合同到期日期,那么我应该在SQL select查询中添加什么呢?

因此,在这3个实体中,我希望最后一行(以及在select查询中显示的唯一一行)是具有最新过期日期的行.在本例中,它的到期日为“2016年1月2日”。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-01 15:01:30

当您描述这个问题时,解决方案是一个简单的group by

代码语言:javascript
复制
select name, max(expirationdate)
from contracts t
group by name;

这假定过期日期以表中的本机日期/时间格式存储。使用正确的类型存储日期非常重要,因此,如果有人错误地给出了字符串类型,则应该更改该类型。查看数据库的ALTER TABLE命令。

票数 1
EN

Stack Overflow用户

发布于 2015-06-01 15:02:09

也许吧

代码语言:javascript
复制
 select "NAME", "LOCATION", MAX( "EXPIRATION DATE" ) from MyTable 
 group by "NAME", "LOCATION" 

如果你也想分开地址,或者

代码语言:javascript
复制
 select "NAME", "LOCATION", MAX( "EXPIRATION DATE" ) from MyTable 
 group by "NAME"

如果你只需要最多的水果,在所有的地点中一次。

检查演示并根据您的需要对其进行调优:http://sqlfiddle.com/#!5/87599/5/0

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30576775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档