您的位置:首页 > 其它

InfluxDB:cannot use field in group by clause

2020-01-15 06:38 92 查看

  最近在使用InfluxDB时,发现一个很奇怪的问题,一个本来正常的功能,做了一次改动后,就不能正常显示了.

一、查询语句

SELECT MEMORY FROM "ACM_PROCESS_MONITOR" GROUP BY USER_NAME

 异常信息如下:

Server returned error: can not use field in GROUP BY clause: USER_NAME

Group By语句后面,只能是Tag列,不能是Field列

 

二、查看所有Tag列

 

  说明USER_NAME是Tag列

三、查看所有Field列

 

   说明USER_NAME是Field列

   综上所述,USER_NAME既是FIELD列,又是TAG列!

 四、问题产生原因

  产生这个问题的原因,是因为UESER_NAME以前确实是FIELD列:

 因为不能在GROUP BY 中查询,于是把它设置为了TAG列:

    为了方便,删除了原来的表,数据都是新的,GROUP BY 没有问题。

   今天一不小心,又启用了改之前的程序,导致又把USER_NAME作为了FIELD列,所以GROUP BY的时候出问题了。

   老外的描述:https://github.com/influxdata/influxdb/issues/3783

   解决方案:

   1.把表删了重建,然后启用新程序

或:

   2.重新为USER_NAME取一个作为TAG列的名字:TAG_USER_NAME,数据都写到这里,用它作为GROUP BY的Tag列

转载于:https://www.cnblogs.com/liugh/p/8128065.html

  • 点赞
  • 收藏
  • 分享
  • 文章举报
an7800666 发布了0 篇原创文章 · 获赞 1 · 访问量 2004 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐