JMP Query Builder-如何应用“ HAVING”功能?大家好,我有几个具有“ HAVING”功能的SQL查询。 我想看看是否可以在JMP Query Builder中设置它。 我搜索了这个社区,但没有看到有关它的讨论(也许我错过了?)。 我了解有一种可用于实现此功能的自定义SQL功能。 但是问题在于,这样就不会再显示所有出色的JMP Query Builder交互功能。 只是想知道有关设置“ HAVING”条件的任何评论/建议吗? 典型的SQL脚本如下。 仅“ HAVING”条件似乎不适用于构建器。 您的见解将不胜感激!
SELECT column-names
FROM table-name
WHERE condition
GROUP BY column-names
<STRONG>HAVING condition</STRONG>
ORDER BY column-names
其他回复:JMP Query Builder-如何应用“ HAVING”功能?您可以通过在第二个查询中创建条件,然后将其加入原始的select语句中,然后过滤结果来替换HAVING子句。可能是这样的:
SELECT a.column-names
FROM table-name a
LEFT JOIN (SELECT val, summary(condition-column) as condition
FROM table-name
GROUP BY condition-column) b
ON a.condition-column = b.condition-column
WHERE condition > 1;
您可以在中测试db-fiddle在模式中使用它:
id INT, val INT
);
INSERT INTO test (id, val) VALUES (1, 10);
INSERT INTO test (id, val) VALUES (2, 10);
INSERT INTO test (id, val) VALUES (3, 20);
INSERT INTO test (id, val) VALUES (4, 30);
INSERT INTO test (id, val) VALUES (5, 30);
而在选择:
SELECT a.ID, a.val, b.tot
FROM test a
LEFT JOIN (SELECT val, count(id) as tot
FROM test
GROUP BY val) b
ON a.val = b.val
WHERE tot > 1;
应该看起来像这样:

回复:JMP Query Builder-如何应用“ HAVING”功能?谢谢@ih 。 这很有帮助。 因此,JMP Query Builder中没有可以直接完成“ HAVING”条件的“隐藏”功能,相当于“过滤器”或“订购”按钮。 我运行了您在此线程中附加的测试表。 是的,我可以得到与您显示的查询结果相同的查询结果。 我总结了JMP中实现此“ HAVING”功能的3个选项:1)使用方式@ih提到过,请在JMP Query Builder中运行定制查询,请注意,以这种方式,查询脚本中没有“ HAVING”关键字。2)运行自定义查询,并在脚本中使用HAVING关键字。 这个对我有用。 自定义查询如下所示:
SELECT a.ID, a.val, Count (*) AS tot
FROM test a
GROUP BY a.val
HAVING ((Count (*)>1))
3)使用JMP Query Builder,但有两个表:一个是“ test”表,另一个是使用JMP“ Summary”(按列)的“ test”表的摘要表(“ val”)。 这样,不熟悉SQL脚本的用户可以在构建器中加入以上两个表,并使用“过滤器”实现“ HAVING”条件。
请注意,最后一个是初始目的。 如果有避免使用第二汇总表的方法,并且无需进行自定义查询,请发出提示。 否则,我认为我们可以结束这一讨论。
回复:JMP Query Builder-如何应用“ HAVING”功能?嗨TG
查询生成器中没有隐藏的HAVING,抱歉!肯定会考虑进行增强。 目前,Custom SQL编辑器将是使用它的唯一方法,并且如您所指出的那样,您将无法返回到交互模式。
布莱恩·科科伦(Brian Corcoran)
JMP开发
回复:JMP Query Builder-如何应用“ HAVING”功能?谢谢Brian的更新。 是的,在将来的版本中进行此增强将是一件很不错的事情,尽管对于我的应用程序而言,现在不是必需的。