tid*_*ogi 5 sql-server distinct-values
我有一个带有三列的SQL查询.我想删除beam_current列中的任何重复值出口.如何这样做.我在sql-server2012中工作
我使用了Distinct但是我也得到了beam_current的重复值.我的sql查询是 -
select DISTINCT (beam_current), logtime, beam_energy
from INDUS2_BDS.dbo.DCCT
where logtime between '2014-08-09 01:13:03' and '2014-08-09 02:16:53'
and (beam_current like '%9.96'
or beam_current like '%9.97'
... etc ...)
and beam_energy between '550' and '552'
Run Code Online (Sandbox Code Playgroud)
EDIT-1 我的输出是 -

在第一列29.98重复三次.我只想要对应于29.98的任何一行.怎么做?
该distinct关键字的工作整行(所有列),所以:
select DISTINCT (beam_current), logtime, beam_energy
Run Code Online (Sandbox Code Playgroud)
是相同的:
select DISTINCT beam_current, logtime, beam_energy
Run Code Online (Sandbox Code Playgroud)
是相同的:
select DISTINCT ((beam_current)), (logtime), (((((beam_energy)))))
Run Code Online (Sandbox Code Playgroud)
您可以使用row_number()以选择每个值的最新行beam_energy:
select *
from (
select row_number() over (
partition by beam_current
order by logtime desc) as rn
, *
from INDUS2_BDS.dbo.DCCT
where logtime between '2014-08-09 01:13:03' and '2014-08-09 02:16:53'
and (beam_current like '%9.96'
or beam_current like '%9.97'
... etc ...)
and beam_energy between '550' and '552'
) numbered_rows
where rn = 1 -- Latest row per beam_current
Run Code Online (Sandbox Code Playgroud)
这将为每个 beam_current 值返回 1 行:
;WITH CTE AS
(
SELECT
row_number() over (partition by beam_current order by (select 1)) rn,
beam_current, logtime, beam_energy
FROM INDUS2_BDS.dbo.DCCT
WHERE
logtime between '2014-08-09 01:13:03' and '2014-08-09 02:16:53'
and (beam_current like '%9.96' or beam_current like '%9.97'
or beam_current like '%9.98' or beam_current like '%9.99'
or beam_current like '%0' or beam_current like '%_0.01'
or beam_current like '%_0.02' or beam_current like '%_0.03'
or beam_current like '%_0.04' or beam_current like '%_0.05'
or beam_current like '%_0.06')
and beam_energy between 550 and 552
)
SELECT beam_current, logtime, beam_energy
FROM CTE
WHERE rn = 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16048 次 |
| 最近记录: |