几十年来由dob创建的sql组
嗨,我的问题是关于让我们说 我们有一个学生 学生桌几十年来由dob创建的sql组,sql,Sql,嗨,我的问题是关于让我们说 我们有一个学生 学生桌 student name DOB ali 03/05/1991 apo 30/05/1993 haz 04/02/1983 nur 03/05/1986 我怎样才能按出生日期对它们进行分组,但几十年后结果应该是这样的 1980-1989 haz nur 1990-1999 Ali Apo 谢谢假设您的DOB列是日期或日期时间,您只需重复使用DOB年份部分的前三位数字,添
student name DOB
ali 03/05/1991
apo 30/05/1993
haz 04/02/1983
nur 03/05/1986
我怎样才能按出生日期对它们进行分组,但几十年后结果应该是这样的
1980-1989
haz
nur
1990-1999
Ali
Apo
谢谢假设您的DOB列是
日期
或日期时间
,您只需重复使用DOB年份部分的前三位数字,添加0
或9
即可创建十年“分组”:
因为每个学生都是独一无二的,所以你不能在这里真正地分组。您的用户界面应负责通过
[Decade]
向学生展示DOB列的数据类型?如果您的格式设置实际上是按照您希望的方式进行的,请在报告系统中执行,而不是SQL。每十年代表一份报告的不同标题和正文部分。您使用的是哪种RDBMS(Oracle、SQL Server、Postgres等)?
SELECT
[student name],
LEFT(CONVERT(varchar(4), YEAR([DOB])), 3) + '0-' +
LEFT(CONVERT(varchar(4), YEAR([DOB])), 3) + '9' AS Decade
FROM
Students