SQL喜欢GROUP BY,并有例子



我是 ES 的新手,我需要进行查询

Select value 
from table 
group by value 
having count(distinct(id)) > 1

我什至没有可以开始的领域。 引用这个 SQL 就像 GROUP BY 和 HAVE 没有多大帮助。

数据示例

------------
Value | id |
------------
val1  | 2  |
val2  | 2  |
val3  | 2  |
val1  | 3  |
------------

预期回报

----
val1 
----

由于您是Elasticsearch的新手,并且正在研究SQL,因此我建议您查看Elasticsearch-SQL。文档在这里。

关于您的特定查询,您可以尝试使用translateAPI,它将为您提供它将为给定SQL查询运行的Elasticsearch查询。这可以成为最终 Elasticsearch 查询的一个很好的起点。或者,您可以按原样使用 ES-SQL 和_sql终结点来发送 SQL 查询并获取结果。

你应该在这里断言COUNT(value)COUNT(*)

SELECT value
FROM yourTable
GROUP BY value
HAVING COUNT(*) > 1;

断言COUNT(DISTINCT value) > 1的问题在于,这个条件永远不会成立。 它永远不会是真的原因是,在GROUP BY完成后,每个组将包含一个且只有一个Value.

试试这个。

Select value 
from table 
group by value 
having count(distinct value) > 1

试试这个

SELECT value
FROM table
GROUP BY value
HAVING COUNT(*) > 1;

检查此链接

相关内容

  • 没有找到相关文章

最新更新