Sql 从查询数据转换为灵活的CSV格式

Sql 从查询数据转换为灵活的CSV格式,sql,csv,Sql,Csv,我想将下面的db表编译成正确的csv格式,因为不知道会出现多少节点ID,因为这会影响csv头的格式。已经完成了sql查询部分,想问一下我是否可以编写一个灵活的代码来形成csv文件 原始数据:- _id Node_ID Modality Timestamp Value ------- ------- ----------- ------------ ------ 4930376 2002 Temperature 24/8/15 6:25 30 49303

我想将下面的db表编译成正确的csv格式,因为不知道会出现多少节点ID,因为这会影响csv头的格式。已经完成了sql查询部分,想问一下我是否可以编写一个灵活的代码来形成csv文件

原始数据:-

_id     Node_ID Modality    Timestamp       Value
------- ------- ----------- ------------    ------
4930376 2002    Temperature 24/8/15 6:25    30
4930377 2403    Temperature 24/8/15 6:24    30
4930378 2004    Temperature 24/8/15 6:21    30
4930379 2203    Temperature 24/8/15 6:26    29
4930380 2211    Temperature 24/8/15 6:21    29
4930381 2401    Temperature 24/8/15 6:25    33
4930382 2411    Temperature 24/8/15 6:24    30
4930383 2101    Temperature 24/8/15 6:22    31
4930384 2201    Temperature 24/8/15 6:27    30
4930385 2111    Temperature 24/8/15 6:30    36
4930386 2113    Temperature 24/8/15 6:27    35
4934082 3200    Temperature 24/8/15 10:28   33
4934083 2402    Temperature 24/8/15 10:30   32
4934084 2213    Temperature 24/8/15 10:30   33
4934085 2103    Temperature 24/8/15 10:34   36
4934086 2423    Temperature 24/8/15 10:32   32
4934087 2421    Temperature 24/8/15 10:34   32
4934088 2413    Temperature 24/8/15 10:37   32
4934089 2102    Temperature 24/8/15 10:31   35
4934090 2202    Temperature 24/8/15 10:35   32
4934091 2404    Temperature 24/8/15 10:33   35
4934092 2121    Temperature 24/8/15 10:39   36
4934093 2002    Temperature 24/8/15 10:35   33
4940370 2123    Temperature 24/8/15 17:44   36
4940371 2422    Temperature 24/8/15 17:40   33
4940372 2001    Temperature 24/8/15 17:36   35
4940373 2301    Temperature 24/8/15 17:39   32
4940374 2402    Temperature 24/8/15 17:36   32
4940375 2103    Temperature 24/8/15 17:40   36
4940376 2423    Temperature 24/8/15 17:38   33
4940377 2421    Temperature 24/8/15 17:40   33
SELECT AVG(value), _id, Node_ID, Modality, value, Timestamp
    FROM yourTable
    GROUP BY DATE(Timestamp), HOUR(Timestamp), Node_ID;
这是sql:-

_id     Node_ID Modality    Timestamp       Value
------- ------- ----------- ------------    ------
4930376 2002    Temperature 24/8/15 6:25    30
4930377 2403    Temperature 24/8/15 6:24    30
4930378 2004    Temperature 24/8/15 6:21    30
4930379 2203    Temperature 24/8/15 6:26    29
4930380 2211    Temperature 24/8/15 6:21    29
4930381 2401    Temperature 24/8/15 6:25    33
4930382 2411    Temperature 24/8/15 6:24    30
4930383 2101    Temperature 24/8/15 6:22    31
4930384 2201    Temperature 24/8/15 6:27    30
4930385 2111    Temperature 24/8/15 6:30    36
4930386 2113    Temperature 24/8/15 6:27    35
4934082 3200    Temperature 24/8/15 10:28   33
4934083 2402    Temperature 24/8/15 10:30   32
4934084 2213    Temperature 24/8/15 10:30   33
4934085 2103    Temperature 24/8/15 10:34   36
4934086 2423    Temperature 24/8/15 10:32   32
4934087 2421    Temperature 24/8/15 10:34   32
4934088 2413    Temperature 24/8/15 10:37   32
4934089 2102    Temperature 24/8/15 10:31   35
4934090 2202    Temperature 24/8/15 10:35   32
4934091 2404    Temperature 24/8/15 10:33   35
4934092 2121    Temperature 24/8/15 10:39   36
4934093 2002    Temperature 24/8/15 10:35   33
4940370 2123    Temperature 24/8/15 17:44   36
4940371 2422    Temperature 24/8/15 17:40   33
4940372 2001    Temperature 24/8/15 17:36   35
4940373 2301    Temperature 24/8/15 17:39   32
4940374 2402    Temperature 24/8/15 17:36   32
4940375 2103    Temperature 24/8/15 17:40   36
4940376 2423    Temperature 24/8/15 17:38   33
4940377 2421    Temperature 24/8/15 17:40   33
SELECT AVG(value), _id, Node_ID, Modality, value, Timestamp
    FROM yourTable
    GROUP BY DATE(Timestamp), HOUR(Timestamp), Node_ID;
从上一篇文章

我希望在csv格式中实现的目标:-(第一行是标题)


你有什么关系数据库管理系统?你是否在尝试以聚合结果为中心?看看这个例子-