2015-11-03 72 views
0

我有一張表,看起來像這樣。在MySQL中請求的數據格式

test_id  time_utc    sim_mcc_mnc network_name 
1234 '2015-01-14 14:03:56'   '232-10'   A1 

「sim_mcc_mnc」只有20種類型,我必須得到每個月的樣本數(記錄)。這是不難得到它的格式如下:

sim_mcc_mnc year Month  Number of records 
    232-10  2013 January   1234 
    232-10  2013 February   4321 

但我要求(從人誰知道和我一樣關於MySQL - 也初級)做這種方式。

sim_mcc_mnc January February March .... 
    232-10  1234  4321 5678 (these numbers are number of records) 

我認爲這是完全違反MySQL的「哲學」,它可能是不可能的做(不合理的困難)。

我的問題是:

  1. 你的觀點就可以了點。
  2. 是否有可能以請求的格式獲取數據?

感謝您的每一個意見

回答

0

它可以這樣做*

select sim_mcc_mnc, 
     sum(case when Month(time_utc) = 1 then 1 else 0 end) as Jan, 
     sum(case when Month(time_utc) = 2 then 1 else 0 end) as Feb, 
     ... 
from your_table 
group by sim_mcc_mnc 

如果你需要以這種格式,例如一個報告,你可以使用它。沒有什麼關於它的錯誤。

*順便說一句,查詢不考慮年份。在你的例子中,這部分不清楚。

具體在MySQL可以做到這一點短一點

select sim_mcc_mnc, 
     sum(Month(time_utc) = 1) as Jan, 
     sum(Month(time_utc) = 2) as Feb, 
     ... 
from your_table 
group by sim_mcc_mnc