簡體   English   中英

創建MySQL的列和行

[英]create columns and rows mysql

我有這樣的表數據

index  user  date   rank
  11     a    1Mar    23
  12     b    1Mar    16
  13     a    2Mar    24
  14     b    2Mar    18

我想通過查詢實現以下內容:

    1Mar   2Mar
a   23     24
b   16     18 

我不知道這是否可以通過命令行中的單個語句來完成,或者是否必須通過表單和一些腳本來完成。 通過腳本可以做到,但看不到如何在單個語句中完成。

如果您知道日期的所有可能值,或者需要使用動態sql,則可以像下面這樣進行數據透視。

SELECT user,
       MAX( CASE WHEN date ='1Mar' THEN rank else NULL end) AS '1Mar',
       MAX( CASE WHEN date ='2Mar' THEN rank else NULL end) AS '2Mar'
FROM Table1
GROUP BY user

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM