如何从 Patient_id 中找到最常见的数字

Posted

技术标签:

【中文标题】如何从 Patient_id 中找到最常见的数字【英文标题】:How do I find the most frequent number from patient_id 【发布时间】:2021-06-03 09:20:24 【问题描述】:

要从中检索数据的表格图像:

REM 录取表

插入录取值 (205,101,'2/2/2011','HB',114,'P','21/2/2011');

【问题讨论】:

【参考方案1】:

什么是“最常见的数字”?入院次数最多的患者?如果是的话,那么

select patient_id
from (select patient_id,
             rank() over (order by count(*) desc) rnk
      from admission
      group by patient_id
     )
where rnk = 1;

【讨论】:

再次感谢帮助!【参考方案2】:

在这两种情况下,如果您只需要 Patient_id,您可以从选择中删除 count(*) AS patient_max

甲骨文

SELECT * FROM (
 SELECT patient_id,count(*) AS patient_max
           FROM admission 
           GROUP BY patient_id 
           ORDER BY count(*) DESC
 ) 
 WHERE ROWNUM <= 1;

Postgresq

 SELECT patient_id,count(*) AS patient_max
           FROM admission 
           GROUP BY patient_id 
           ORDER BY count(*) DESC 
           LIMIT 1;

【讨论】:

这在 Oracle 中不起作用,那里没有限制。 对我习惯了posrgesql,我更正了我的答案 感谢您的帮助!!【参考方案3】:
select patient_id ,count(*) as patient_count
  from admission group by patient_id 
order by patient_count desc FETCH FIRST 1 ROWS ONLY;

如果你只想要 Patient_id 那么:

WITH temp as 
(
select patient_id ,count(*) as patient_count
      from admission group by patient_id 
    order by patient_count desc FETCH FIRST 1 ROWS ONLY
)
select patient_id from temp;

【讨论】:

@jOHNJACOBJINGLE 首先你接受了这个答案,现在你又拒绝了。至少为答案投票 对不起,我对堆栈溢出很陌生,我以为我可以一次接受多个答案。我无法投票,因为他们不允许我这样做,直到我达到一定的排名。它说我需要 15 声望。感谢您的帮助! 没有问题。你可以点赞我的回答。您需要点击我的答案左侧的向上箭头【参考方案4】:

按 Patient_id 计数分组并使用 FETCH FIRST 1 ROWS ONLY:

select count(*) cnt, patient_id 
  from admission group by patient_id 
order by cnt desc FETCH FIRST 1 ROWS ONLY;

如果您有 Oracle

select *
from  
(select count(*) cnt, patient_id 
      from admission group by patient_id 
    order by cnt desc ) 
where ROWNUM = 1;

【讨论】:

感谢您的帮助!!

以上是关于如何从 Patient_id 中找到最常见的数字的主要内容,如果未能解决你的问题,请参考以下文章

如何从向量或数组中选择最常见的数字?(TOP5 toplist)C++

如何找到最多2个数字?

当我从参数接收到 Iterable 时,如何使用带有 java8 的 Lamba 表达式从给定值中找到最接近的数字? [复制]

常见的4种排序算法

如何从数组中找到3个数字的组合,当添加时,它等于另一个给定的数字

如何找到列表中最常见的元素? [复制]