Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 例如,高于特定值(500美元)的项目百分比?_Sql_Sql Server - Fatal编程技术网

Sql 例如,高于特定值(500美元)的项目百分比?

Sql 例如,高于特定值(500美元)的项目百分比?,sql,sql-server,Sql,Sql Server,我有一个包含价格、项目编号和个性化编号的项目表(我认为在这种情况下不需要) 如何进行查询以显示有多少百分比的数据>500$(示例) 我试过这个 Select price, (Count(price)* 100 / (Select Count(*) From items)) as Score From items Group By price 但它并没有按照我所希望的方式工作 是否有一种方法可以同时显示“%”?现在显示为50.00000000,但我希望50.00%确定,但这应该在您的程序逻辑中

我有一个包含价格、项目编号和个性化编号的项目表(我认为在这种情况下不需要)

如何进行查询以显示有多少百分比的数据>500$(示例)

我试过这个

Select  price, (Count(price)* 100 / (Select Count(*) From items)) as Score
From items
Group By price

但它并没有按照我所希望的方式工作

是否有一种方法可以同时显示“%”?现在显示为50.00000000,但我希望50.00%确定,但这应该在您的程序逻辑中完成。您如何(直接在SQL中)执行它取决于您使用的DB引擎。SQL有许多不同的方言。我正在使用Microsoft SQL Server Management Studio 17来获得正确的数字,使用
cast(sum(当价格>500时,则为1,否则为0结束)*100.0/count(*)作为十进制(5,2))
可以添加
转换(varchar,…)+'%
,但我不会在SQL中这样做。SQL用于抓取数据,而不是对其进行样式设置。是否有一种方法可以同时显示“%”?现在显示为50.00000000,但我希望50.00%确定,但这应该在您的程序逻辑中完成。您如何(直接在SQL中)执行它取决于您使用的DB引擎。SQL有许多不同的方言。我正在使用Microsoft SQL Server Management Studio 17来获得正确的数字,使用
cast(sum(当价格>500时,则为1,否则为0结束)*100.0/count(*)作为十进制(5,2))
可以添加
转换(varchar,…)+'%
,但我不会在SQL中这样做。SQL用于获取数据,而不是设置数据的样式。
Select sum(case when price > 500 then 1 else 0 end) * 100.0 / count(*)
From items