2014-01-15 115 views
0

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

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

我遇到的问题是,由于某种原因,有无论出于何种原因,有0完成,并让说,25000楼的展示视频。在个人层面上,我的计算工作正常,但是当你开始将所有这些视频包装成一个网站时,录像机会因为这些0完整的展示位置视频而掉落很多,但它们仍然有印象。我想知道如何处理那些0完整的视频展示位置,即使我计算整个网站的录像机,其中包含50个视频展示位置,其中10个视频展示位置的投放位置完成了10次,展示次数达到了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完成(完成观看?)正在考虑您的计算,我假设你想要的数据的准确表示?这些没有完成的视频在数据中仍然是真实的,对吗? – chucknelson

+0

也许显示几行样本数据,它的输出和所需的输出? – wallyk

+0

实际上你是在问如何使用代码来做些什么,或者你只是在问一个关于使用什么算法的建议? – Sam

回答

0

你可以使用逻辑here,但我认为只有更好,更快地使用单独的语句。

SELECT completes, impressions, completes/impression AS VCR FROM video_table WHERE completes > 0 AND impression > 0,比第二选择那些在语言的展示等于0

你也可以随时在做数据转换的数学,你是编程的所有的人。例如php。在这种情况下,你可以在那里使用简单的逻辑。

我希望这是你正在寻找的。