SQL 获取时间最小的一条数据

获取每个ID时间最小的一列如IDpricetime12222015-01-0113332014-01-01211112012-01-01244442013-01-01返回... 获取每个ID时间最小的一列如
ID price time
1 222 2015-01-01
1 333 2014-01-01
2 1111 2012-01-01
2 4444 2013-01-01

返回结果
ID price time
1 333 2014-01-01
2 111 2012-01-01
展开
 我来答
帐号已注销
高粉答主

2019-10-11 · 关注我不会让你失望
知道小有建树答主
回答量:1346
采纳率:100%
帮助的人:36.9万
展开全部

1、首先最常用的就是GETDATE了,如下图所示,直接获得当前最新的日期。

2、接着还有Getshortdate,如下图所示,这个是后面的时分秒没有。

3、获取到日期以后可能需要提取,那么就用CONVERT,其中23格式比较常用。

4、然后120的格式也是非常常用的。

5、接下来还有108是直接获取时分秒的。

6、最后还可以用111将日期连接字符换成斜线。


扩展资料


关系数据库实现过程中,第一步是建立关系模式,定义基本表的结构,即该关系模式是哪些属性组成的,每一属性的数据类型及数据可能的长度、是否允许为空值以及其它完整性约束条件。

定义基本表:

CREATE TABLE<表名>(<列名1><数据类型>[列级完整性约束条件]

[,<列名2><数据类型>[列级完整性约束条件]]

[,<-列名n><数据类型>[列级完整性约束条件]]

[,表列级完整性约束条件]);

说明:

<>中是SQL语句必须定义的部分,[]中是SQL语句可选择的部分,可以省略的。

CREATE TABLE表示是SQL的关键字,指示本SQL语句的功能。

<表名>是所要定义的基本表的名称,一个表可以由一个或若干个属性(列)组成,但至少有一个属性,不允许一个属性都没有的表,这样不是空表的含义。

多个属性定义由圆括号指示其边界,通过逗号把各个属性定义分隔开,各个属性名称互不相同,可以采用任意顺序排列,一般按照实体或联系定义属性的顺序排列,关键字属性组在最前面,这样容易区分,也防止遗漏定义的属性。

每个属性由列名、数据类型、该列的多个完整性约束条件组成。其中列名一般为属性的英文名缩写,在Microsoft Access 2010中也可以采用中文,建议不要这样做,编程开发时不方便。

完整性约束条件,分为列级的完整性约束和表级的完整性约束,如果完整性约束条件涉及该表的多个属性列,则必须定义在表级上,否则既可以定义在列级也可以定义在表级。

这些完整性约束条件被存入系统的数据字典中,当用户操作表中数据时由RDBMS自动检查该操作是否违背这些完整性约束;

如果违背则RDBMS拒绝本次操作,这样保持了数据库状态的正确性和完整性,不需要用户提供检查,提高了编程的效率,降低了编程难度。列级的完整性通常为主关键字的定义、是否允许为空。表级的完整性约束条件一般为外码定义。

刺友互
高粉答主

2019-07-19 · 每个回答都超有意思的
知道答主
回答量:3979
采纳率:100%
帮助的人:73万
展开全部

1、首先最常用的就是GETDATE了,如下图所示,直接获得当前最新的日期。

2、接着还有Getshortdate,如下图所示,这个是后面的时分秒没有。

3、获取到日期以后可能需要提取,那么就用CONVERT,其中23格式比较常用。

4、然后120的格式也是非常常用的。

5、接下来还有108是直接获取时分秒的。

6、最后还可以用111将日期连接字符换成斜线。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
greystar_cn
推荐于2017-09-14 · 知道合伙人软件行家
greystar_cn
知道合伙人软件行家
采纳数:16407 获赞数:17260
本人主要从事.NET C#方向的技术开发工作,具有10多年的各类架构开发工作经验。

向TA提问 私信TA
展开全部
获取最小值的处理有二种方式:
1,利用聚合函数MIN来处理
select min(birthday) from table

2. 对时间字段进行排序,再取第一条
select top 1 birthday from table order by birthday
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一颗程序猿o_0
2015-06-15 · TA获得超过6298个赞
知道大有可为答主
回答量:5403
采纳率:77%
帮助的人:1364万
展开全部
SELECT ID,price,[time]
FROM
(
    SELECT ID,price,[time],ROW_NUMBER() OVER(PARTITION BY ID ORDER BY [time] ASC) AS _sid
    FROM [表名]
) AS t
WHERE _sid=1
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式