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編輯器將是使用它的唯一方法,並且如您所指出的那樣,您將無法返回到交互模式。
布萊恩·科科倫
JMP開發
回复:JMP Query Builder-如何應用“ HAVING”功能?謝謝Brian的更新。 是的,在將來的版本中進行此增強將是一件很不錯的事情,儘管現在還不是我的應用程序必須具備的功能。