0

3つの列、すべて整数、最初のid、2 番目X、3 番目のYがあるXとしましょう。10Y10

=================

|  id  | X  | Y | 

=================

| 1    | 1  | 1 | 

| 1    | 0  | 1 | 

| 1    | 0  | 0 | 

| 1    | 1  | 1 | 

| 2    | 0  | 0 | 

| 2    | 0  | 1 |

| 2    | 1  | 1 |  

| .... |    |   | 

=================

私がやりたいことは、基本的X / Yにパーセンテージとして調べて見つけること
です:

(total number of times an instance occurred / total number of opportunities for that to occur, and this all to be grouped by id) * 100

私が持っているクエリは機能します(ただし、より効率的な方法があるかどうかは疑問です)

select id, (CASE WHEN ( sum(Y)) <> 0 THEN ((sum(X))/( sum(Y))) ELSE 0 END) ) * 100) from table GROUP BY id

いくつかの方法でより効率的かどうか疑問に思います

sum(cast(case where Y <> 0 THEN (X/Y) ELSE 0 END 0...
4

0 に答える 0