我有以下数据表:
year, month, customer, agent
2013, 1, abc, yyyy
2013, 2, abc, yyyy
2013, 3, abc, zzzz
2013, 4, abc, xxxx
...
2013, 12, abc, xxxx
我需要将该表转换为类似的结构
year, from, to, customer, agent
2013, 1, 2 abc, yyyy
2013, 3, 3 abc, zzzz
2013, 4, 12 abc, xxxx
所以我尝试使用 MAX 和 MIN 函数来识别客户和代理的最小和最大月份..但它不起作用。
你能帮我吗? 谢谢
最佳答案
试试这个:
SELECT A.year,
MIN(A.month) `from`,
MAX(A.month) `to`,
A.customer,
A.agent
FROM tableA A
GROUP BY A.year,
A.customer,
A.agent
输出
| YEAR | FROM | TO | CUSTOMER | AGENT |
|------|------|----|----------|-------|
| 2013 | 4 | 12 | abc | xxxx |
| 2013 | 1 | 2 | abc | yyyy |
| 2013 | 3 | 3 | abc | zzzz |
关于mysql - 如何将以下数据表转换为另一种结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21017109/