SQL 获取时间最小的一条数据
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 展开
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拒绝本次操作,这样保持了数据库状态的正确性和完整性,不需要用户提供检查,提高了编程的效率,降低了编程难度。列级的完整性通常为主关键字的定义、是否允许为空。表级的完整性约束条件一般为外码定义。
推荐于2017-09-14 · 知道合伙人软件行家
1,利用聚合函数MIN来处理
select min(birthday) from table
2. 对时间字段进行排序,再取第一条
select top 1 birthday from table order by birthday
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