ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã®ã³ã³ããã¹ãã§ã¯ã Having å¥ã¯ãSQL (æ§é åç §äŒèšèª) éèšé¢æ°ãéããŠååŸããããŒã¿ã®é«åºŠãªãã£ã«ã¿ãªã³ã°ã容æã«ããããã«èšèšããã匷åãã€äžå¯æ¬ ãªæ§æèŠçŽ ã§ããéèšé¢æ°ã¯ããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹å ã®äžé£ã®è¡ã«å¯ŸããŠèšç®ãå®è¡ããåäžã®åºåå€ãè¿ãããã«äœ¿çšãããŸããäžè¬çãªéèšé¢æ°ã«ã¯ãCOUNTãSUMãAVGãMAXãMIN ãªã©ããããŸãã Have å¥ã¯ GROUP BY å¥ã®åŸã«é©çšãããæå®ãããæ¡ä»¶ã«åºã¥ããŠãããã®éèšé¢æ°ããåŸãããçµæããã£ã«ã¿ãªã³ã°ããããã«äœ¿çšãããŸãã
Have å¥ãšãããäžè¬çã«äœ¿çšããã WHERE å¥ã®äž»ãªéãã¯ãããŸããŸãªã³ã³ããã¹ããžã®é©çšã«ãããŸãã WHERE å¥ã¯éèšé¢æ°ãé©çšããåã«ã¬ã³ãŒãããã£ã«ã¿ãªã³ã°ããããã«äœ¿çšãããŸãããHaving å¥ã¯éèšãè¡ãããåŸã«äœ¿çšãããŸãããããã£ãŠãéèšãããããŒã¿ãæäœããéçºè ãéèšé¢æ°ã®çµæã«ç¹å®ã®æ¡ä»¶ãšå¶çŽãèšå®ã§ããããã«ããŠãèŠä»¶ã«åãããŠçµæã調æŽã§ããŸãã
ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ãæ±ããœãããŠã§ã¢éçºè ã«ãšã£ãŠãHaving å¥ã®éèŠæ§ãšçŸå®äžçãžã®é©çšãçè§£ããããšã¯éåžžã«éèŠã§ããæå 端ã®no-codeãã©ãããã©ãŒã ã§ããAppMaster䜿çšãããšãé¡§å®¢ã¯æ¯é¡ã®ãªãç°¡åããšå¹çã§ããã¯ãšã³ããWebãã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããŸãã AppMasterã®åŒ·åãªããŒã«ã䜿çšãããšããŠãŒã¶ãŒã¯ããŒã¿ ã¢ãã« (ããŒã¿ããŒã¹ ã¹ããŒã)ãããžãã¹ ããžã㯠(ããžãã¹ ããã»ã¹ãšåŒã°ãã)ãREST APIãããã³ WSS ãšã³ããã€ã³ããèŠèŠçã«äœæã§ããŸããããã«ã AppMasterãã©ã€ã㪠ããŒã¿ããŒã¹ ã·ã¹ãã ãšã㊠PostgreSQL äºæã®ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ãšã®ã·ãŒã ã¬ã¹ãªå¯Ÿè©±ããµããŒãããŠãããéçºããã»ã¹ã«ããã Hasting Clause ã®é¢é£æ§ãããã«åŒ·åããŸãã
Hasting Clause ã®äœ¿çšæ³ã説æããããã«ã次ã®äŸãèããŠã¿ãŸããããããäŒæ¥ãã売äžãç¹å®ã®ãããå€ãè¶ ããã«ããŽãªããšã«ãã£ã«ã¿ãªã³ã°ããŠã補åã®ç·è²©å£²éã詳现ã«ç€ºãã¬ããŒããäœæããå¿ èŠããããšããŸãããã®ã·ããªãªã§ã¯ãGROUP BY å¥ã䜿çšããŠè£œåã«ããŽãªã«åºã¥ããŠããŒã¿ãã°ã«ãŒãåããHaving å¥ãé©çšããŠèŠå®ã®æ¡ä»¶ (売äžãããå€) ã«åŸã£ãŠã°ã«ãŒãåãããããŒã¿ããã£ã«ã¿ãªã³ã°ããŸãã Have å¥ãå©çšãã SQL ã¯ãšãªã®äŸã¯æ¬¡ã®ããã«ãªããŸãã
SELECT ã«ããŽãªãSUM(sales_volume) AS total_sales
補åãã
GROUP BY ã«ããŽãª
total_sales > some_threshold ãæã£ãŠããŸãã
äžèšã®ã¯ãšãªã§ã¯ããproductsãããŒãã«ã®ããŒã¿ããcategoryãåã§ã°ã«ãŒãåããããSUMã颿°ã䜿çšããŠéèšããã販売æ°éãèšç®ãããŸããæ¬¡ã«ãHaving Clause ãå°å ¥ããŠçµæããã£ã«ã¿ãªã³ã°ããæå®ããããããå€ãè¶ ããç·å£²äžé«ãæã€ã«ããŽãªã®ã¿ã衚瀺ããŸãã
ãã®äŸããåããããã«ãHaving å¥ã¯ãéèšé¢æ°ãå«ãè€éãªããŒã¿æäœã¿ã¹ã¯ãåŠçããå ŽåãSQL ã®äžå¯æ¬ ãªèŠçŽ ã§ããé©åã«å®è£ ãããšãç¹å®ã®åºæºã«æºæ ããããŒã¿ã®ååŸããã£ã«ã¿ãªã³ã°ã衚瀺ã®ã¿ã¹ã¯ãè¿ éåããããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹äžã«æ§ç¯ãããã¢ããªã±ãŒã·ã§ã³ã®å šäœçãªå¹çãšããã©ãŒãã³ã¹ã«çŽæ¥è²¢ç®ããŸãã
AppMasterã®å ç¢ãªno-codeãã©ãããã©ãŒã ã¯ãWebãã¢ãã€ã«ãããã³ããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ã®èšèšãéçºãå±éã«é¢é£ããæéãšã³ã¹ããå€§å¹ ã«åæžããŸãã Hasting Clause ããã®ä»ã® SQL æ§é ã®åãå©çšããããšã§ã AppMaster ããŠãŒã¶ãŒã®é²åãç¶ããèŠä»¶ã«å¿ããæå 端ã®ã¢ããªã±ãŒã·ã§ã³ãäœæããããã®ãã¹ã±ãŒã©ãã«ã§é©å¿æ§ã®ãããœãªã¥ãŒã·ã§ã³ãæäŸããŸãããã®ãã©ãããã©ãŒã ã¯ãããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ã®å Žå㯠Go (golang)ãWeb ã¢ããªã±ãŒã·ã§ã³ã®å Žå㯠Vue3 ãã¬ãŒã ã¯ãŒã¯ãš JS/TSãã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ã®å Žå㯠Kotlinã Jetpack Compose ãããã³SwiftUIã§ã¢ããªã±ãŒã·ã§ã³ã®ãœãŒã¹ ã³ãŒããçæããŸãããã®çµæãã€ã³ã¿ã©ã¯ãã£ã㪠UIãçŽèгçãªããžãã¹ ããžãã¯ããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ãšã®ã·ãŒã ã¬ã¹ãªçµ±åãåããå æ¬çãªã¢ããªã±ãŒã·ã§ã³ ã¹ã€ãŒãã宿ãããããã¯ãã¹ãŠ 1 è¡ã®ã³ãŒããèšè¿°ããããšãªãå®çŸãããŸãã
çµè«ãšããŠãHaving å¥ã¯ãéèšé¢æ°ã«ç¹æã®é«åºŠãªããŒã¿ ãã£ã«ã¿ãªã³ã°ã容æã«ããéèŠãª SQL æ§é ã§ããéçŽãããããŒã¿ã調æŽããã³æäœããæ©èœã«ãããHaving å¥ã¯ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ãå©çšããã¢ããªã±ãŒã·ã§ã³ã®æé©åãšããã©ãŒãã³ã¹ã«å€§ããè²¢ç®ããŸãã AppMasterã®no-codeãã©ãããã©ãŒã ã®åãæŽ»çšãããŠãŒã¶ãŒã«ãšã£ãŠãHaving Clause ã¯ããšã³ããŠãŒã¶ãŒã®ããŸããŸãªããŒãºã«å¿ããå¹ççã§ã¹ã±ãŒã©ãã«ãªå æ¬çãªãœãããŠã§ã¢ã®äœæã远æ±ããäžã§äžå¯æ¬ ãªããŒã«ãæäŸããŸãã