MySql 数据透视表或连接问题

标签 mysql join pivot

我有一个表格,如下所示:

pkey|ICAO|   Dt     |Tm      |Temp|Dew
0   |KPHL|2014-03-05|00:00:00|46  |32
1   |KPHL|2014-03-05|01:00:00|45  |33
2   |KPHL|2014-03-05|02:00:00|44  |32
3   |KABI|2014-03-05|00:00:00|46  |32
4   |KABI|2014-03-05|01:00:00|46  |32
5   |KABI|2014-03-05|01:00:00|46  |32
6   |KPHL|2014-03-06|00:00:00|47  |32
7   |KPHL|2014-03-06|01:00:00|48  |33
8   |KPHL|2014-03-06|02:00:00|45  |32
9   |KABI|2014-03-06|00:00:00|42  |32
10  |KABI|2014-03-06|01:00:00|44  |32
11  |KABI|2014-03-06|01:00:00|60  |32

..等等...

我希望我的查询显示 KPHL 的所有临时数据(例如今天、3/5 和明天 3/6),并并排显示它们...就像

Tm      | Today | Tomorrow
00:00:00| 46    | 47
01:00:00| 45    | 48
02:00:00| 44    | 45

我不确定是否需要某种连接或数据透视表。我已经查了很多,但找不到模仿我想做的事情,而且我尝试过的事情也不起作用。

最佳答案

假设每次一个温度,等等

SELECT tm
      ,MAX(CASE dt WHEN '2014-03-05' THEN Temp ELSE NULL END) AS Today
      ,MAX(CASE dt WHEN '2014-03-06' THEN Temp ELSE NULL END) AS Tomorrow
  FROM x
  WHERE dt IN ('2014-03-05', '2014-03-06')
    AND ICAO = 'KPHL'
  GROUP BY tm
  ORDER BY tm

关于MySql 数据透视表或连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22209612/

相关文章:

mysql - 嗯,为什么通过 '2' 或 '2' 查找返回相同的记录?

mysql 加入条件

mysql - 帮助 SQL 连接结合大量子查询

join - 在 CrudRepository(Spring data jdbc) 上使用 @query 和表连接

sql-server - sql server 中的滚动日历枢轴?

PHP 数据库 - 用户

php - 在 URL 中传递代码

使用 Eloquent 提取 MySQL JSON

sql - 如何获取数据透视表每行的最大列数和最小列数?

sql - 是否可以在 SQL PIVOT 中使用动态创建的值?