Sql 例如,高于特定值(500美元)的项目百分比?
我有一个包含价格、项目编号和个性化编号的项目表(我认为在这种情况下不需要) 如何进行查询以显示有多少百分比的数据>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%确定,但这应该在您的程序逻辑中
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