我在Azure SQL中有一个名为Report_Table
的表.它有一百多根柱子.
我将给出一个有3列的例子,如下所示:
+--------+----------+------+
| job_id | rep_pm | done |
+--------+----------+------+
| 46 | a002 | a |
| 47 | a002 | b |
| 48 | a002 | c |
| 49 | a003 | d |
| 50 | a003 | e |
| 51 | a003 | f |
| 52 | a004 | g |
| 53 | a004 | h |
| 54 | a005 | i |
| 55 | a006 | j |
+--------+----------+------+
列rep_pm
具有重复值.我需要买到最新的rep_pm
英镑.
这将取决于第job_id
栏.
- 对于
a002
,最新的jod_id
将是48
- 对于
a003
,最新的jod_id
将是51
- 对于
a004
,最新的jod_id
将是53
诸若此类.
我需要最新的job_id
英尺S来代替所有的rep_pm
英尺S和表中剩余的列.
这就是我try 过的:
select
rep_pm, count(*) as cnt,
row_number() over (partition by rep_pm order by count(*) desc) as seq
from
Report_Table
group by
rep_pm
上述查询返回以下输出:
+--------+----------+------+
| rep_pm | cnt | seq |
+--------+----------+------+
| a002 | 3 | 1 |
| a003 | 3 | 1 |
| a004 | 2 | 1 |
| a005 | 1 | 1 |
| a005 | 1 | 1 |
+--------+----------+------+
我知道我错过了一些重要的东西,非常感谢你的帮助.