任何人都可以幫助我處理將列轉換爲行然後相應地查找數據的查詢。從列表中獲取數據並將列作爲MYSQL中的行
問題在下面。我已經嘗試了一個查詢,將列名獲取到行中,但是我無法獲取值或者有任何想法找出列3和列4的位置。我是SQL中的一個新的布爾。有人可以幫我從這裏出去嗎。我從朋友那裏聽到提示支點,當我瀏覽我發現在MYSQL
Input Table:
E1 E2 E3 E4 E5 E6
Null 1234 234 12 A B
123 Null Null Null 12 B
Null Null Null Null Null Null
123 2 1 A 1 2
Output Table:
C1 C2 Count TotalC percent
E1 123 2 2 1
E2 1234 1 2 0.5
E2 2 1 2 0.5
E3 234 1 2 0.5
E3 1 1 2 0.5
E4 12 1 2 0.5
E4 A 1 2 0.5
E5 A 1 3 0.3
E5 12 1 3 0.3
E5 1 1 3 0.3
E6 B 2 3 0.6
E6 2 1 3 0.3
的問題的解釋不支持PIVOT:
- C1是輸入表的列名。
- C2是這些列中的數據。
- 計數是每列中類似項目和單數的數量。
- TotalC是總非空值的數量。
- %是count/totalc。
查詢我的工作:SELECT (COLUMN_NAME)AS Column1 FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'inputtable';
注:查詢MYSQL中。
*爲什麼*你想要做到這一點?你能提供更多的上下文嗎?機會可能是這個任務在數據庫層之外更好地執行,或者你最好使用不同的模式。 – eggyal
@eggyal:生病得到一個包含該樣本數據的文件作爲輸入,我必須運行查詢才能使數據在另一個表中保留。我可以通過「數據庫層以外」瞭解你的意思嗎? –
「*在數據庫層以外*」,我的意思是在您的應用程序代碼中執行此數據操作,而不是在SQL中。 – eggyal