【发布时间】:2021-03-16 08:03:55
【问题描述】:
之前
+--------+--------+---------+-------+------+
| RowNum | Status | Remarks | SetNo | |
+--------+--------+---------+-------+------+
| 1 | Q | | Set 1 | Want |
| 2 | Q | | Set 1 | Want |
| 3 | Q | | Set 1 | Want |
| 4 | Q | | Set 1 | Want |
| 5 | W | | Set 1 | Want |
| 1 | W | abc | Set 2 | |
| 2 | W | abc | Set 2 | |
| 3 | W | abc | Set 2 | |
| 4 | W | abc | Set 2 | Want |
| 1 | Q | | Set 3 | Want |
| 2 | w | abc | Set 3 | |
| 3 | w | abc | Set 3 | Want |
+--------+--------+---------+-------+------+
如何根据 Rownum=lastnumber 和 setno 选择 Status=Q 和 Status=W? 预期结果是“想要”的行是我需要的。那些空的,将被删除
试过了:
select *
from mytable
where (RowNum != (select max(RowNum) from mytable) and status = 'W')
【问题讨论】:
-
您可以选择 TOP 1 并按 RowNum 降序排列。
-
抱歉,考虑到您提供的示例数据,我无法理解您的预期结果集。
-
@NathanChampion 试过了,没用
-
@Raihan 更新了我的预期结果
-
仍然不清楚你在找什么。你能再解释一下吗?
标签: sql sql-server subquery greatest-n-per-group