sql - 查找记录最多的十年,SQL Server

标签 sql sql-server

我有以下数据库图:

Database Diagram for Movies

我想找出电影数量最多的十年(例如 1990 年到 2000 年)。 实际上它只处理“电影”表。

你知道怎么做吗?

最佳答案

您可以使用 SQL Server 中的 LEFT 函数来获取年份的十年。十年是一年的前 3 位数字。您可以按十年分组,然后计算电影的数量。如果您按电影数量对结果进行排序或排序 - 电影数量最多的十年将位于顶部。例如:

select
count(id) as number_of_movies,
left(cast([year] as varchar(4)), 3) + '0s' as decade
from movies
group by left(cast([year] as varchar(4)), 3)
order by number_of_movies desc

关于sql - 查找记录最多的十年,SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27338110/

相关文章:

sql - postgresql - 按数字分组并返回最高值

sql-server - 如何使 power() 函数使用小数而不是整数?

sql-server - 关于已弃用的功能(多于两部分的列名称)

sql - 如何在 CTE 之后使用 if 语句 (SQL Server 2005)

php - 当一个输入被填满时,如何使用ajax获取mysql数据

sql - 如何在多个表上构建动态查询

sql - 基于比较不同表的数据和优先级更新表

sql-server - 为管理员用户启用的 xp_cmdshell 访问被拒绝

mysql - 表不能有带 auto_increment 的 2 字段主键

php - 通过多个字段按名称搜索