【发布时间】:2021-07-21 10:21:15
【问题描述】:
我有如下简单的查询:
SELECT distinct DateTime , Result , count(Result)as total
FROM [lfplog].[dbo].[d_lfpLog] group by datetime, result order by DateTime, result asc
从那个查询中,输出是这样的: DateTime 结果总计
**Date Time Result total**
2021-04-01 00000000 20
2021-04-01 00000028 10
2021-04-01 000000FF 9
2021-04-01 000001FF 2
2021-04-01 000004FF 58
2021-04-01 000005FF 4
2021-04-01 000006FF 4
2021-04-01 000007FB 3
2021-04-01 000007FF 467
2021-04-02 000000FF 2
2021-04-02 000004FF 1
2021-04-02 000007FF 13
2021-04-03 00000000 220
2021-04-03 00000028 16
2021-04-03 0000003F 1
2021-04-03 00000040 1
2021-04-03 000000FB 1
2021-04-03 000000FF 24
2021-04-03 00000100 3
2021-04-03 00000102 1
2021-04-03 000001FB 1
2021-04-03 000001FF 4
2021-04-03 000004FB 1
2021-04-03 000004FF 179
2021-04-03 00000500 1
2021-04-03 000005BB 1
2021-04-03 000005FB 2
2021-04-03 000005FF 15
2021-04-03 000006FF 8
2021-04-03 0000073F 50
2021-04-03 000007BA 2
2021-04-03 000007BF 2
2021-04-03 000007FA 1
2021-04-03 000007FB 22
2021-04-03 000007FF 1706
2021-04-04 00000000 2
2021-04-04 00000008 2
2021-04-04 00000010 12
2021-04-04 00000028 24
2021-04-04 0000003A 1
2021-04-04 0000003B 2
2021-04-04 0000003F 1
2021-04-04 00000068 1
2021-04-04 0000007B 1
2021-04-04 0000007F 1
2021-04-04 000000FB 1
2021-04-04 000000FF 26
2021-04-04 0000013F 1
2021-04-04 000001FF 3
2021-04-04 000004FB 1
2021-04-04 000004FF 77
2021-04-04 000005FF 14
2021-04-04 000006FF 4
2021-04-04 000007AB 1
2021-04-04 000007FB 31
2021-04-04 000007FF 1062
我正在寻找的是,如何将这些日期时间从行转换为列? 我的预期结果表是这样的:
2021-04-01 2021-04-02 2021-04-03
00000000 20 34 35
00000000 10 65 76
00000028 9 7 98
000000FF 2 8 87
000001FF 58 9 34
000004FF 343 23 98
000005FF 34 23 87
000006FF 23 3 2
是否可以在 sql server 查询或过程中做到这一点? 或者我应该在后面的代码中处理它? (我正在使用 C#) 任何帮助将不胜感激 谢谢
【问题讨论】:
-
日期是否总是与您在上面显示的三个日期完全相同?
-
不,日期是每天的日期,所以每天数据都会自动插入到数据库中,我只需要每天按结果列汇总(计数)即可。是否可以在 sql server 查询中做到这一点?
-
我不确定答案,但this 可能会有所帮助。
-
根据问题指南,请展示您的尝试并告诉我们您发现了什么(在本网站或其他地方)以及为什么它不能满足您的需求。
标签: c# sql asp.net sql-server