{"version":"1.0","provider_name":"Simple Talk","provider_url":"https:\/\/www.red-gate.com\/simple-talk","author_name":"Randolf Geist","author_url":"https:\/\/www.red-gate.com\/simple-talk\/author\/randolf-geist\/","title":"HAVING Cardinality","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"EHARHaasc7\"><a href=\"https:\/\/www.red-gate.com\/simple-talk\/databases\/oracle-databases\/having-cardinality\/\">HAVING Cardinality<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/www.red-gate.com\/simple-talk\/databases\/oracle-databases\/having-cardinality\/embed\/#?secret=EHARHaasc7\" width=\"600\" height=\"338\" title=\"&#8220;HAVING Cardinality&#8221; &#8212; Simple Talk\" data-secret=\"EHARHaasc7\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/\/# sourceURL=https:\/\/www.red-gate.com\/simple-talk\/wp-includes\/js\/wp-embed.min.js\n\/* ]]> *\/\n<\/script>\n","description":"When performing\u00a0aggregate GROUP BY\u00a0operations an additional filter on the aggregates can be applied using the\u00a0HAVING\u00a0clause. Usually aggregates are one of the\u00a0last steps\u00a0executed before the final result set is returned to the client. However there are various reasons, why a GROUP BY operation might be somewhere in the middle of the execution plan operation, for example it might be part of","thumbnail_url":"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/07\/simple-talk-dark-background.jpg","thumbnail_width":1500,"thumbnail_height":1000}