我有一个表#temprajesh
,其中列idtask
,taskname
。我正在获取重复的任务ID,但我需要一个具有idtask
的相同顺序的值。
当我尝试下面的查询时
select idtask
from #temprajesh
group by idtask,taskname
使用group by或distinct也可以消除重复值,但idtask
列的顺序会更改为升序。
当我使用rownumber
我无法消除重复记录但idtask的顺序保持不变时,我也使用rownumber
尝试了以下查询
select distinct idtask, taskname, ROW_NUMBER() OVER (order by idtask)
from #temprajesh
我需要idtask
列与group by语句之前的顺序相同。我有表格数据
159480 power_10sites_5minhybrid_Multi_Site
159480 power_10sites_5minhybrid_Multi_Site
159480 power_10sites_5minhybrid_Multi_Site
159480 power_10sites_5minhybrid_Multi_Site
159480 power_10sites_5minhybrid_Multi_Site
159480 power_10sites_5minhybrid_Multi_Site
159480 power_10sites_5minhybrid_Multi_Site
159480 power_10sites_5minhybrid_Multi_Site
159480 power_10sites_5minhybrid_Multi_Site
159480 power_10sites_5minhybrid_Multi_Site
159481 123_8_Multi_Site
159481 123_8_Multi_Site
159481 123_8_Multi_Site
159481 123_8_Multi_Site
159481 123_8_Multi_Site
159481 123_8_Multi_Site
159481 123_8_Multi_Site
159481 123_8_Multi_Site
159481 123_8_Multi_Site
159481 123_8_Multi_Site
159482 _Multi_Site
159483 _Multi_Site
159484 _Multi_Site
159484 _Multi_Site
159485 123_10_Multi_Site
159485 123_10_Multi_Site
159485 123_10_Multi_Site
159485 123_10_Multi_Site
159485 123_10_Multi_Site
159485 123_10_Multi_Site
159485 123_10_Multi_Site
159485 123_10_Multi_Site
159485 123_10_Multi_Site
159485 123_10_Multi_Site
159486 123_11_Multi_Site
159486 123_11_Multi_Site
159486 123_11_Multi_Site
159486 123_11_Multi_Site
159486 123_11_Multi_Site
159486 123_11_Multi_Site
159486 123_11_Multi_Site
159486 123_11_Multi_Site
159486 123_11_Multi_Site
159486 123_11_Multi_Site
159487 300_Multi_Site
159487 300_Multi_Site
159487 300_Multi_Site
159487 300_Multi_Site
159487 300_Multi_Site
159487 300_Multi_Site
159487 300_Multi_Site
159487 300_Multi_Site
159487 300_Multi_Site
159487 300_Multi_Site
159488 301_Multi_Site
159488 301_Multi_Site
159489 123_12_Multi_Site
159489 123_12_Multi_Site
159410 gh_Multi_Site
159416 ujh_Multi_Site
159353 uh_Multi_Site
159402 g_Multi_Site
159347 sd_Multi_Site
159396 dfg_Multi_Site
159413 try_Multi_Site
159390 fgd_Multi_Site
159382 ghj_Multi_Site
159356 ertdsf_Multi_Site
159393 eg_Multi_Site
159350 jh_Multi_Site
159399 sdf_Multi_Site
159414 uhy_Multi_Site
159391 fg_Multi_Site
159385 R1_Multi_Site
159408 xcv_Multi_Site
159394 fgd_Multi_Site
159351 jh_Multi_Site
159388 fdg_Multi_Site
159411 gh_Multi_Site
159417 ui_Multi_Site
159354 ert_Multi_Site
159348 sd_Multi_Site
159405 gtr_Multi_Site
159397 tyu_Multi_Site
159389 tyu_Multi_Site
159412 tf_Multi_Site
159383 ergt_Multi_Site
159380 sdfsdf_Multi_Site
159406 gtr_Multi_Site
159400 sdf_Multi_Site
159349 jh_Multi_Site
159392 fg_Multi_Site
159409 gh_Multi_Site
159386 fdg_Multi_Site
159346 sd_Multi_Site
159352 uh_Multi_Site
159387 fdg_Multi_Site
159418 ty_Multi_Site
159404 gtr_Multi_Site
159335 gh_Multi_Site
159398 gr_Multi_Site
159415 fdg_Multi_Site
159384 R1_Multi_Site
159421 r_Multi_Site
159401 sdf_Multi_Site
159381 sdfsdf_Multi_Site
159395 sfgd_Multi_Site
159407 xcv_Multi_Site
我需要输出
159480 power_10sites_5minhybrid_Multi_Site
159481 123_8_Multi_Site
159482 _Multi_Site
159485 123_10_Multi_Site
159486 123_11_Multi_Site
159487 300_Multi_Site
159488 301_Multi_Site
159489 123_12_Multi_Site
159410 gh_Multi_Site
159416 ujh_Multi_Site
159353 uh_Multi_Site
159402 g_Multi_Site
159347 sd_Multi_Site
159396 dfg_Multi_Site
159413 try_Multi_Site
159390 fgd_Multi_Site
159382 ghj_Multi_Site
159356 ertdsf_Multi_Site
159393 eg_Multi_Site
159350 jh_Multi_Site
159399 sdf_Multi_Site
159414 uhy_Multi_Site
159391 fg_Multi_Site
159385 R1_Multi_Site
159408 xcv_Multi_Site
159394 fgd_Multi_Site
159351 jh_Multi_Site
159388 fdg_Multi_Site
159411 gh_Multi_Site
159417 ui_Multi_Site
159354 ert_Multi_Site
159348 sd_Multi_Site
159405 gtr_Multi_Site
159397 tyu_Multi_Site
159389 tyu_Multi_Site
159412 tf_Multi_Site
159383 ergt_Multi_Site
159380 sdfsdf_Multi_Site
159406 gtr_Multi_Site
159400 sdf_Multi_Site
159349 jh_Multi_Site
159392 fg_Multi_Site
159409 gh_Multi_Site
159386 fdg_Multi_Site
159346 sd_Multi_Site
159352 uh_Multi_Site
159387 fdg_Multi_Site
159418 ty_Multi_Site
159404 gtr_Multi_Site
159335 gh_Multi_Site
159398 gr_Multi_Site
159415 fdg_Multi_Site
159384 R1_Multi_Site
159421 r_Multi_Site
159401 sdf_Multi_Site
159381 sdfsdf_Multi_Site
159395 sfgd_Multi_Site
159407 xcv_Multi_Site
答案 0 :(得分:6)
表中的数据本身并不是有序的,您必须通过值或某些逻辑提供某种方式来创建特定的订单。除非您指定ORDER BY
,否则无法保证订单。
但您应该能够使用idtask
为每个row_number()
返回一行。原始版本的问题是您没有过滤数据只返回一行而row_number()
没有按idtask
值分区:
select idtask,
taskname
from
(
select idtask,
taskname,
rn = ROW_NUMBER() OVER (partition by idtask order by idtask)
from #temprajesh
) d
where rn = 1;
See Demo。子查询将为idtask
中的每一行创建唯一值,但之后您只返回一行。