我有一个带有'目标'的oracle数据库缺血症。表,该表有5列:
G_ID - Int
M_ID - Int
G_Method - Text
G_X_Loc - Int
G_Y_Lo - Int
G_Time - Int
G_X_Loc和G_Y_Loc是-5和+5之间的整数。作为一个百分比,我需要计算出Y0到Y + 5之间的得分数目以及Y0和Y-5之间得分的数量。
到目前为止,我已设法使用以下查询告诉我0到+5的数字,即56,但我努力将其作为总行数的百分比(107) )。
Select COUNT(G_ID) AS Y_POS_GOALS
FROM GOALS
WHERE G_Y_LOC IN (Select G_Y_LOC
FROM GOALS
WHERE G_Y_LOC BETWEEN 0 AND 5)
有人能给我一个更好的方法来引导它吗?
答案 0 :(得分:3)
SELECT AVG( CASE WHEN g_y_log >= 0 THEN 100 ELSE 0 END ) AS g_y_positive_percentage,
AVG( CASE WHEN g_y_log <= 0 THEN 100 ELSE 0 END ) AS g_y_negative_percentage
FROM goals;
答案 1 :(得分:1)
我不了解Oracle Apex,但下面的查询是标准SQL,并且在Oracle和大多数其他RDBMS中运行:
$(document).ready(function(){
var text = $("p");
var overlay = $(".someYellowOverlay").parent();
var flag = false;
$(document).scroll(revealTextOnScroll);
function revealTextOnScroll() {
var scrollPos = $(document).scrollTop();
var targetPos = $("header").offset().top;
if (scrollPos >= 250 && flag === false) {
flag = true;
revealText();
} else if (scrollPos < 250) {
flag = false;
text.css("display", "none");
overlay.children().css("transform-origin", "left center");
}
function revealText() {
var delayBetweenLines = 2000/overlay.length;
for(i=0;i<overlay.length;i++){
overlay.eq(i).children().first().addClass("someAnimation")
.delay((i*delayBetweenLines)+250).queue(function(next){
$(this).css("transform-origin", "right center");
next();
})
.delay((i*delayBetweenLines)+125).queue(function(next){
$(this).next().css("display", "block");
next();
})
.delay((i*delayBetweenLines)+250).queue(function(next){
$(this).removeClass("someAnimation");
next();
})
}
}
}
});