sql - 如何找到关系的 COUNT 结果的 MAX

标签 sql sql-server count max

我有一个表,其中包含 PatientId(Int)和 Date(日期数据类型)。

看起来确实像下面

patientId   Date
  101       01/01/2001
  102       01/02/2001
  103       01/03/2002
  104       01/03/2004
  105       01/03/2004
  106       01/04/2004

我想要的结果会给我

Count   Year
3       2004 

因为它有最多的患者,而且我们有两年有相同数量的患者,那么我们应该显示这两年的患者数量。 谢谢。

最佳答案

使用YEARdate 列中提取年份的函数。在 group by 中使用提取的年份来获取 Year 的 count

select TOP 1 year([Date]),count(1) as [Count]
from Yourtable
Group by year([Date])
Order by [Count] desc

另一种方法是使用 DATEPART

select TOP 1 Datepart(year,[Date]),count(1) as [Count]
from Yourtable
Group by Datepart(year,[Date])
Order by [Count] desc

关于sql - 如何找到关系的 COUNT 结果的 MAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34279954/

相关文章:

sql - SQL Server 表上的唯一分组约束

jquery - 使用 jQuery 设置以唯一单词开头的 localStorage 键的计数

asp.net - SQLException : Login failed for user 'NT AUTHORITY\NETWORK SERVICE

count - Hive 对 map 数组的不同计数

mysql - 在 GROUP_CONCAT 中使用 COUNT

sql - t-sql 递归查询

mysql - 如何找到学生的 sibling

sql - 如何在ORACLE中显示包中的功能代码?

php - 如何在 MySQL 语句中包含 PHP 变量

sql-server - 在 INSERT 语句中增加变量