-- Q: I need to round it, like below:
-- A: Convert the value to decimal(3,1) for example
select convert(decimal(3,1), 23.6182308)
-- Q: and select only first row of duplicated value
-- A option 1:
-- you can use ROW_Number function (supported even in sql server 2008)
-- with partition by all the duplicates columns.
-- Next you simply filter (using where) the rows with ROW_NUMBER column = 1
-- A option 2: Use DISTINCT in the SELECT
** Примечание! Если вы не знаете, как реализовать то, что я написал, то, пожалуйста, опубликуйте DDL + DML (запрос для создания таблицы и вставки некоторых образцов данных для игры), и я дам вам точный запрос
--- обновление: добавить точный пример на основе DDL + DML, отправленный DhruvJoshi ----
Пожалуйста, отметьте эту опцию:
;With MyCTE as (
select
tag,
time,
convert(decimal(3,1), [value]) as [value],
RN = ROW_NUMBER()
OVER (partition by tag, convert(decimal(3,1), [value]) order by [time])
from picomp
)
select tag, [time], [value]
from MyCTE
where RN = 1
GO
и DDL + DML, который я использовал, взят из ответа DhruvJoshi:
create table picomp (tag varchar(10), [time] datetime, [value] decimal(18,8));
insert into picomp values
('test.PV','6/25/2017 12:10:59 AM',23.9164886)
,('test.PV','6/25/2017 12:11:59 AM',23.8978481)
,('test.PV','6/25/2017 12:12:59 AM',23.888525)
,('test.PV','6/25/2017 12:14:00 AM',23.8698845)
,('test.PV','6/25/2017 12:15:00 AM',23.8605652)
,('test.PV','6/25/2017 12:16:00 AM',23.8512459)
,('test.PV','6/25/2017 12:17:00 AM',23.8326035)
,('test.PV','6/25/2017 12:18:00 AM',23.8139629)
,('test.PV','6/25/2017 12:19:00 AM',23.7953224)
,('test.PV','6/25/2017 12:20:00 AM',23.77668)
,('test.PV','6/25/2017 12:21:00 AM',23.7673588)
,('test.PV','6/25/2017 12:22:00 AM',23.7487202)
,('test.PV','6/25/2017 12:23:00 AM',23.7300777)
,('test.PV','6/25/2017 12:24:00 AM',23.7207565)
,('test.PV','6/25/2017 12:25:00 AM',23.7114372)
,('test.PV','6/25/2017 12:26:00 AM',23.6927948)
,('test.PV','6/25/2017 12:27:00 AM',23.6741543)
,('test.PV','6/25/2017 12:28:00 AM',23.6648331)
,('test.PV','6/25/2017 12:29:00 AM',23.6461945)
,('test.PV','6/25/2017 12:29:59 AM',23.6368713)
,('test.PV','6/25/2017 12:30:59 AM',23.6182308);
GO
select * from picomp
GO