【问题标题】:'select count' when divided by another select count only returns when 1=1“选择计数”除以另一个选择计数时仅在 1=1 时返回
【发布时间】:2014-08-16 18:36:57
【问题描述】:

我基本上是想获得两个选择计数的百分比。在下面显示的示例中,我应该有一个简单的2 / 6,结果为 33.33%。但是,当我运行查询时,只返回 100% 或 0%。任何关于它为什么这样做的帮助都会很棒

CONVERT(DECIMAL(4, 2), 
(SELECT Count(driver)
 FROM trh a
 WHERE a.hn = trh.hn
   AND a.driver = trh.driver
   AND (a.finishposition < 5
        AND a.finishposition IS NOT NULL
        AND a.finishposition != 0 )) / Count(driver) ) * 100 

现在我尝试CONVERT(DECIMAL(4, 2), 2 / 6),这也只返回0.00

好的,你必须将它们转换为小数

【问题讨论】:

    标签: sql sql-server


    【解决方案1】:

    SQL Server 进行整数除法。只需将cast() 值之一转换为十进制或浮点类型。例如:

    / cast(Count(driver) as decimal(4, 2))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-06
      • 2012-03-05
      • 2021-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多