请原谅我,我是SQL. stupid。我终于学会了在可能的情况下使用视图而不是cron。现在,我在视图问题中有了一个视图。
我的朋友帮我走到这一步:
CREATE VIEW tbl.sums as SELECT
table2.id,
SUM( table1.column1 * 2 ) as column1Sum,
SUM( table1.column2 * 2 ) as column2Sum,
SUM( table1.column3 * 2 ) as column3Sum
FROM table1, table2
WHERE table1.table2_id = table2.id GROUP BY table2.id
我想在视图中加入第5列,它与其他3列具有相同的权重。
因此,等式将类似于(1/3)* 百分位数(column 1 Sum)+(1/3)* 百分位数(column 2Sum)+(1/3)* 百分位数(column 3Sum),其中“百分位数()”是该列相对于该列其余部分的百分位数排名。
请原谅不够清楚。这真的不是我的专长。将编辑尽可能多的需要。
先谢谢你!
澄清度百分比
在我的例子中,百分位数是给定列从最高到最低的百分比等级,它针对重复进行了调整。因此,对于具有100个值的列,具有最大值的列将是100%,具有最小值的列将是0%(或者是1%?)。如果有100个但有50个重复值,则最后两个将共享2%。
1条答案
按热度按时间km0tfn4u1#
这个等式对我来说没有多大意义,我想一定是出了什么问题,或者我没有真正得到百分位数应该是多少......所以我只输入了任意值,只要它取决于子查询的字段。
如果您没有使用子查询,而是直接使用
column1Sum
,您将得到一个关于未知列的错误。否则,您可以重写用于计算总和的公式,而不是使用它的名称。但我猜这对您的用例并不实用。