Счетчик SQL с разбивкой по десятичному проценту - как ограничить до 4 знаков после запятой?
Я хотел бы изменить десятичные разряды на 4, но не могу понять, помогите!
--query
select CASE v2.[ie version]
When '11' Then 'Internet Explorer 11'
When '9' Then 'Internet Explorer 9'
When '8' Then 'Internet Explorer 8'
Else [IE Version] End [IE Version],
COUNT(distinct v1.guid) 'Total Count', COUNT(*) *100.00 / SUM(COUNT(*)) over()'Total Percentage' from vcomputer v1
inner join vIEVersions v2 on v1.guid = v2.guid where v1.ismanaged = '1'
and v2.[IE Version] is not Null and v2.[IE Version] not in ('Unknown', '7', '10')
group by v2.[IE Version] order by 1 desc
--Выход
IE Version Total Count Total Percentage
Internet Explorer 9 180 1.7349397590361
Internet Explorer 8 531 5.1180722891566
Internet Explorer 11 9664 93.1469879518072
3 ответа
CAST к десятичной дроби должно быть достаточно:
CAST(COUNT(*) *100.00 / SUM(COUNT(*)) over() as decimal(12,4))
Я думаю, что сначала вы должны сначала CREATE TABLE VIEW
десятичной процентной разбивки, а затем вызовите функцию округления значения суммы, как этот пример кода:
SELECT ROUND(column_name,decimals) FROM table_name;
Надеюсь, поможет.
Попробуйте это например,
объявить @i int=23
выберите приведение (@i*100.00/3 как десятичное число (10,4))