這是我當前的查詢:MySQL的查詢給予不準確的結果
select baseball , const.cnt/count(*) as my_percent
from full_db3 inner join
(select count(*) as cnt from full_db3 where gender = 'f') const
group by baseball
order by my_percent desc limit 10;
這會產生不準確的結果。 baseball
的可能值爲TRUE和FALSE,這些值出現在我的結果的baseball
列中。但是,my_percent
的值全部關閉。差遠了。
如果我運行這個查詢(不同的GROUP BY
),我在my_percent
中得到了正確的值FALSE,但TRUE不在結果中。
select baseball , const.cnt/count(*) as my_percent
from full_db3 inner join
(select count(*) as cnt from full_db3 where gender = 'f') const
group by const.cnt
order by my_percent desc limit 10;
我在這裏錯過了什麼?
謝謝。這運行沒有錯誤,但結果是錯誤的。我在'棒球'專欄中回到了TRUE和FALSE,這是正確的,但'pct'中的值都是錯誤的。它們應該加起來爲100,但總和爲130.7。這兩個值都不是正確的。 – jonmrich 2015-04-02 00:31:40
如果我刪除'group by baseball',我只能得到FALSE的正確值。查詢結果中不顯示TRUE。 – jonmrich 2015-04-02 00:32:44
你需要解釋你想要的值。你得到的答案是女性所有(棒球=真)的百分比,以及女性所有(棒球=假)的百分比。你只是想要女性做百分比還是沒有棒球=真? – 2015-04-02 00:33:45