假设您有一个表,表中的Item具有UniqueNames,Id表示顺序,每个Run都有一个RunNumber
| 身份证|姓名|运行编号|
| --------------|--------------|--------------|
| 1|打开|1|
| 二|关闭|1|
| 1|打开|二|
| 二|关闭|二|
| 1|关闭|三|
| 二|打开|三|
| 1|打开|四|
| 二|关闭|四|
是否有方法在项目顺序发生更改时获取RunNumber,例如“关闭”任务的ID**小于“打开”任务的ID”(如RunNumber 3)?
希望能学到几种方法,但一种就够了!
谢谢!
2条答案
按热度按时间cedebl8k1#
对于此示例数据,您可以使用聚合并在
HAVING
子句中设置条件:或者,使用自联接:
参见demo。
uhry853o2#
由于
Close
按字母顺序在Open
之前,因此您可以使用row_number()
为每个按RunNumber分组并按Name排序的记录给予行号:或者您可以使用
order by
case when
自己指定Close
和Open
的顺序:Demo here