作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我将 SQL 数据存储在“整行”中,需要重新排列
原始数据
ID User Date Act1 Act2 Act3 Act4
1 Aba 2019-04-27 3 1 NULL 2
2 Bob 2019-04-28 1 NULL 2 1
3 Carl 2019-04-28 2 1 1 2
4 Dan 2019-04-29 3 2 1 NULL
5 Aba 2019-04-29 4 7 5 NULL
期望状态(每天和行为)
ID 2019-04-27 2019-04-28 2019-04-29
Act1 3 3 7
Act2 1 1 9
Act3 NULL 3 6
Act4 2 3 NULL
任何指导将不胜感激,谢谢
最佳答案
您可以尝试使用具有条件加重功能的UNION ALL
。
查询 1:
SELECT 'Act1' Id,
SUM(CASE WHEN Date = DATE'2019-04-27' THEN Act1 END) '2019-04-27',
SUM(CASE WHEN Date = DATE'2019-04-28' THEN Act1 END) '2019-04-28',
SUM(CASE WHEN Date = DATE'2019-04-29' THEN Act1 END) '2019-04-29'
FROM T
UNION ALL
SELECT 'Act2' Id,
SUM(CASE WHEN Date = DATE'2019-04-27' THEN Act2 END) '2019-04-27',
SUM(CASE WHEN Date = DATE'2019-04-28' THEN Act2 END) '2019-04-28',
SUM(CASE WHEN Date = DATE'2019-04-29' THEN Act2 END) '2019-04-29'
FROM T
UNION ALL
SELECT 'Act3' Id,
SUM(CASE WHEN Date = DATE'2019-04-27' THEN Act3 END) '2019-04-27',
SUM(CASE WHEN Date = DATE'2019-04-28' THEN Act3 END) '2019-04-28',
SUM(CASE WHEN Date = DATE'2019-04-29' THEN Act3 END) '2019-04-29'
FROM T
UNION ALL
SELECT 'Act4' Id,
SUM(CASE WHEN Date = DATE'2019-04-27' THEN Act4 END) '2019-04-27',
SUM(CASE WHEN Date = DATE'2019-04-28' THEN Act4 END) '2019-04-28',
SUM(CASE WHEN Date = DATE'2019-04-29' THEN Act4 END) '2019-04-29'
FROM T
Results :
| Id | 2019-04-27 | 2019-04-28 | 2019-04-29 |
|------|------------|------------|------------|
| Act1 | 3 | 3 | 7 |
| Act2 | 1 | 1 | 9 |
| Act3 | (null) | 3 | 6 |
| Act4 | 2 | 3 | (null) |
关于mysql - 如何对处于 "full line"模式 SQL 的数据进行分组和重新排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55953844/
我是一名优秀的程序员,十分优秀!