如何从MySQL获取此输出

时间:2018-08-20 03:53:23

标签: mysql-workbench

我有一个名为nasdaq_transactions的表,如下所示

Ticker  Close   Date
GOOG    1195.06 08/15/2018
AAPL    215.15  08/15/2018
MSFT    104.56  08/15/2018
GOOG    1198.11 08/16/2018
AAPL    216.1   08/16/2018
MSFT    105.1   08/16/2018
GOOG    1200.96 08/17/2018
AAPL    217.58  08/17/2018
MSFT    107.58  08/17/2018

想要构建一个提供输出的查询

Ticker  08/15/2018  08/16/2018  08/17/2018
GOOG    1196.06      1198.11     1200.96
AAPL    215.15       216.1       217.58
MSFT    104.56       105.1       107.58

1 个答案:

答案 0 :(得分:0)

有几种方法可以将数据从多行转换为列。

在SQL Server中,您可以使用 PIVOT 函数将数据从行转换为列:

select * from
    (
  select Ticker, Date
  from nasdaq_transactions
   ) 
pivot
    (
  max(value)
  for columnname in ('08/15/2018', '08/16/2018', '08/17/2018')
  ) piv;

我给了你一个示例代码。请参考并相应地应用。