如何旋转/转换表格?

huangapple go评论62阅读模式
英文:

How to pivot/transform table?

问题

我有一个表格。

示例:

run_ts user rnk
1234 A 1
1235 A 2
123 B 1
124 B 2

我想将它转换成

first_run_ts last_run_ts user
1234 1235 A
123 124 B

我该如何做?

英文:

I have a table.

Example:

run_ts user rnk
1234 A 1
1235 A 2
123 B 1
124 B 2

I want to transform it into

first_run_ts last_run_ts user
1234 1235 A
123 124 B

How can i do it?

答案1

得分: 1

对于通用解决方案,我认为您可以使用MINMAXGROUP BY的组合...请参见以下内容:

SELECT 
    MIN(run_ts) AS first_run_ts,
    MAX(run_ts) AS last_run_ts,
    [user]
FROM 
    your_table
GROUP BY
    [user]

演示的 SQL Fiddle。

英文:

For a generic solution, I think you can use a combination of MIN and MAX with GROUP BY...see below:

SELECT 
    MIN(run_ts) AS first_run_ts,
    MAX(run_ts) AS last_run_ts,
    [user]
FROM 
    your_table
GROUP BY
    [user]

A SQL Fiddle for a demo.

huangapple
  • 本文由 发表于 2023年5月18日 07:23:54
  • 转载请务必保留本文链接:https://go.coder-hub.com/76276793.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定