use*_*584 0 sql t-sql sql-server sql-server-2008
我正在研究奇怪的SQL查询
Patient_ID Count order_no
1 1 1
2 1 2
2 0 3
2 0 4
3 1 5
3 0 6
Run Code Online (Sandbox Code Playgroud)
如上所述,我需要对患者进行计数,对于每个新患者,计数列为1.如果重复,则下面的条目应为0
我很困惑应该如何在SQL中使用它
为了使第一个条目1和所有子条目条目为0,我相信您需要按订单编号对分区进行排名.请检查下面的sqlfiddle以测试结果.
http://www.sqlfiddle.com/#!3/4e2e2/17/0
SELECT
patient_id
,CASE WHEN r.rank = 1
THEN 1
ELSE 0
END
, order_number
FROM
(
SELECT
order_number
,patient_id
,ROW_NUMBER() OVER (PARTITION BY patient_id ORDER BY order_number)[rank]
FROM
PatientTable
)r
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
130 次 |
| 最近记录: |