SELECT DISTINCT person_id
FROM my_table
WHERE person_id NOT IN (SELECT person_id FROM my_table WHERE status = 'hungry')
谁能解释一下我如何用presto编写这个查询?我发现另一篇文章似乎暗示它的工作正确,所以我有点困惑。
不要使用not in
。如果返回的值为null
,则不返回任何行。注意:这是SQL的工作方式,而不是任何特定数据库的特性。
而是使用not exists
:
SELECT DISTINCT t.person_id
FROM my_table t
WHERE NOT EXISTS (SELECT
FROM my_table t2
WHERE t2.status = 'hungry' AND
t2.person_id = t.person_id
);
实际上,我可能会建议对此进行聚合--您已经基本上使用select distinct
进行聚合:
select person_id
from my_table t
group by person_id
having sum(case when status = 'hungry' then 1 else 0 end) = 0;
我实现了BigQuery插件。BigQuery支持类型,它可以在Presto中表示为类。 在中创建,它具有方法,该方法只要求接受类的实例。 这意味着在我实现Presto的方法时,我必须为具有类型的字段返回。 但是有package private abstract方法,这使我无法实现该类。唯一的子级具有package private constructor,并且没有可以为我构建实例的工厂或构建器。
问题内容: 我想知道AWS Athena中是否支持OFFSET。对于mysql,以下查询正在运行,但在雅典娜中却给了我错误。任何示例都将有所帮助。 从雇员中选择* empSal> 3000 LIMIT 300 OFFSET 20 问题答案: 雅典娜基本上是由Presto管理的。从Presto311开始,您可以使用语法或等效的ANSI SQL :。 您可以在超越极限中阅读更多内容,Presto满足O
组件模型 构造支持器是实现了 IContributeComponentModelConstruction 接口的对象。顾名思义,在组件模型创建之后,它们其将正确的构造到最终状态。 :warning: 不要在支持器的外面修改 ComponentModel: 不鼓励在构造支持器的外面修改组建模型。在 组建模型 被它的构造支持器处理完成之后,它应该是只读的。 在以后的任何时候修改都可能导致并发(conc
Gradle The JUnit Platform Gradle Plugin has been discontinued The junit-platform-gradle-plugin developed by the JUnit team was deprecated in JUnit Platform 1.2 and discontinued in 1.3. Please switch t
我在使用Reformation的RxJava支持链接观察对象时遇到了问题。我可能误解了如何使用它,否则它可能是改装中的一个bug。希望这里有人能帮我理解发生了什么事。编辑:我正在对这些响应使用MockRestaAdapter—这可能与RxSupport实现略有不同有关。 这是一个假的银行应用程序。它正在尝试进行传输,传输完成后,它应该执行帐户请求以更新帐户值。这基本上只是我试用flatMap的一个
我有两个1:N关系的表,我使用内容提供程序和CursorLoader。 我如何使连接查询与光标加载器一起工作?我可以用内容提供程序内部的rawSql来解决它,但如何在游标加载器构造函数中做到这一点我无法理解。 CursorLoader(上下文上下文,Uri Uri,String[]投影,String selection,String[]selectionArgs,String sortOrder)