SQL SELECT语句中的计算字段

时间:2014-01-15 00:54:03

标签: sql

我试图更好地理解select语句计算字段的工作原理。我尝试做的是计算视频完成率或VCR,这是通过完成/展示来计算的。所以我写了下面的代码:

SELECT completes, impressions, completes/impression AS VCR
FROM video_table
WHERE (completes > 0)

我遇到的问题是,由于某种原因,有些视频无论出于什么原因都有0完成,并且可以说25,000次展示。在个人层面上,我的计算工作正常但是当你开始将所有这些视频包装成一个网站时,由于这些0完整的展示位置级别视频,VCR会下降很多,但它们仍有印象。我想知道如何处理这0个完整的视频展示位置,即使我计算整个网站的VCR,其中包含50个视频展示位置,其中10个已完成0次,有25,000次展示?

感谢任何人的想法

修改

简单的例子是:

Completes
1. 0
2. 7

Impressions
1. 10
2. 10

total VCR should equal 7/10 = 70%  **NOT**  7/20 = 35%

1 个答案:

答案 0 :(得分:0)

您可以使用逻辑here,但我认为使用它来分隔语句会更好更快。

SELECT completes, impressions, completes/impression AS VCR FROM video_table WHERE completes > 0 AND impression > 0而不是第二次选择所有展示次数等于0的广告。

您也可以随时使用您正在编程的语言进行数据转换。例如php。在这种情况下,你可以在那里使用简单的逻辑。

我希望这就是你要找的东西。