【发布时间】:2025-11-30 12:30:02
【问题描述】:
我有一个包含以下数据的表
| id | orderid |
|---|---|
| 1 | 0 |
| 1 | 1 |
| 1 | 2 |
| 2 | 0 |
| 3 | 0 |
| 3 | 1 |
一个 ID 可以有多个订单 ID。如果一个 id 只有一行 orderid 为 0 则表示该订单尚未下单。我已经找到了所有尚未下订单的 id。
这就是我的想法
Select *
From (
Select
id,
orderId,
Count(id) Over (partition by id) 'cntId'
From table
) a
Where a.cntId = 1
and a.Orderid = 0
有没有更好的方法来编写这个查询?我将不胜感激。
【问题讨论】:
-
桌子有PK吗?表有哪些索引?预期的结果是什么?
标签: sql sql-server database ssis msbi