我有一些按五分位數標籤組織的數據(-1,1,2,3,4,5)。對於Quintile
列中的每個值,在另一列中的值爲ret
。最後,將包含月末日期的日期列作爲整數。MySQL:使用IF語句來轉動,但獲得大量NULL值
我的目標是將所有的Quintile返回數據同時顯示出來,每個數據都作爲自己的列,只有日期列的行爲像索引一樣。
本質上,我想轉到Quintile
列,並且我看到其他地方建議在MySQL中使用IF
語句作爲實現此目的的一種方式。
例如,下面是一個查詢,將顯示一個五分之一人口的價值數據:
select yearmonth, ret
where Quintile=1
from quintile_returns
但我不想重複這個對所有五等分標籤,分別保存了數據,以及一塊它一起在Python Pandas或Excel中。我想讓SQL將它顯示爲不同的列。
但當我嘗試這個IF
聲明風格窮人的支點,這是我使用的查詢:
select yearmonth,
IF(Quintile=1, ret, NULL) as Q1_ret,
IF(Quintile=2, ret, NULL) as Q2_ret
from quintile_returns
我基本上得到一個對角線有效數據的後面。對於Quintile 2,所有Quintile不爲1的行仍然顯示,填充NULL,然後如此。
如何避免所有這些額外的NULL值?基本上,如果條件滿足,我想告訴SQL返回列值,只有,並且不要使用NULL或其他任何類似於默認else
的佔位符。
有沒有辦法做到這一點,不涉及嵌套連接類型的語句?