在SQL(SQLite)中,我有一列学生姓名和他们的生日——我如何显示年龄最大的5名学生?
在SQLite中,我有一列名字和他们的生日——我如何显示最年长的5个人 在单独的命令中,如何使用生日并按年龄分组:在SQL(SQLite)中,我有一列学生姓名和他们的生日——我如何显示年龄最大的5名学生?,sql,sqlite,Sql,Sqlite,在SQLite中,我有一列名字和他们的生日——我如何显示最年长的5个人 在单独的命令中,如何使用生日并按年龄分组: 21-30 31-40 41-50 51+ 非常感谢 Z显示年龄最大的5个人 SELECT * FROM tableName ORDER BY birth_date DESC LIMIT 5 为了对出生日期进行分组,我使用了从的答案来计算年龄 SELECT person_name, CASE WHEN age BETWEEN 21 AND 30 THEN '21-
21-30
31-40
41-50
51+
非常感谢
Z显示年龄最大的5个人
SELECT * FROM tableName
ORDER BY birth_date DESC LIMIT 5
为了对出生日期进行分组,我使用了从的答案来计算年龄
SELECT person_name,
CASE WHEN age BETWEEN 21 AND 30 THEN '21-30'
WHEN age BETWEEN 31 AND 40 THEN '31-40'
WHEN age BETWEEN 31 AND 40 THEN '31-40'
WHEN age >=51 THEN '51+' END as Age_Group
FROM
(
SELECT person_name,
(strftime('%Y', 'now') - strftime('%Y', Birth_Date)) - (strftime('%m-%d', 'now') < strftime('%m-%d', Birth_Date));
FROM tableName as age
) As Z
查找属于每个出生组的出生日期数
SELECT Age_Group , COUNT(*) as countAgeGroup
FROM (
SELECT
CASE WHEN age BETWEEN 21 AND 30 THEN '21-30'
WHEN age BETWEEN 31 AND 40 THEN '31-40'
WHEN age BETWEEN 31 AND 40 THEN '31-40'
WHEN age >=51 THEN '51+' END as Age_Group
FROM
(
SELECT
(strftime('%Y', 'now') - strftime('%Y', Birth_Date)) - (strftime('%m-%d', 'now') < strftime('%m-%d', Birth_Date));
FROM tableName as age
) As Z
) As Y
GROUP BY Y.Age_Group