Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
几十年来由dob创建的sql组_Sql - Fatal编程技术网

几十年来由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