[{"data":1,"prerenderedAt":116},["ShallowReactive",2],{"term-g\u002Fgroup-by":3,"related-g\u002Fgroup-by":102},{"id":4,"title":5,"acronym":6,"body":7,"category":83,"description":84,"difficulty":85,"extension":86,"letter":87,"meta":88,"navigation":89,"path":90,"related":91,"seo":96,"sitemap":97,"stem":100,"subcategory":6,"__hash__":101},"terms\u002Fterms\u002Fg\u002Fgroup-by.md","GROUP BY",null,{"type":8,"value":9,"toc":77},"minimark",[10,15,19,23,26,30,66,70,73],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"GROUP BY collapses rows with the same value into one group so you can count, sum, or average them. 'How many orders per user?' — GROUP BY user_id. It is like pivoting a list into a summary.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"GROUP BY aggregates rows that share the same values in specified columns into summary rows. It is always used with aggregate functions (COUNT, SUM, AVG, MAX, MIN). Non-aggregated columns in the SELECT must appear in the GROUP BY clause.",[11,27,29],{"id":28},"show-me-the-code","Show Me The Code",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-sql shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","SELECT user_id, COUNT(*) AS order_count, SUM(total) AS revenue\nFROM orders\nGROUP BY user_id\nORDER BY revenue DESC;\n","sql","",[38,39,40,48,54,60],"code",{"__ignoreMap":36},[41,42,45],"span",{"class":43,"line":44},"line",1,[41,46,47],{},"SELECT user_id, COUNT(*) AS order_count, SUM(total) AS revenue\n",[41,49,51],{"class":43,"line":50},2,[41,52,53],{},"FROM orders\n",[41,55,57],{"class":43,"line":56},3,[41,58,59],{},"GROUP BY user_id\n",[41,61,63],{"class":43,"line":62},4,[41,64,65],{},"ORDER BY revenue DESC;\n",[11,67,69],{"id":68},"when-youll-hear-this","When You'll Hear This",[16,71,72],{},"\"GROUP BY user_id to count how many orders each user has placed.\" \u002F \"I forgot the GROUP BY and got an aggregation error.\"",[74,75,76],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":36,"searchDepth":50,"depth":50,"links":78},[79,80,81,82],{"id":13,"depth":50,"text":14},{"id":21,"depth":50,"text":22},{"id":28,"depth":50,"text":29},{"id":68,"depth":50,"text":69},"database","GROUP BY collapses rows with the same value into one group so you can count, sum, or average them. 'How many orders per user?' — GROUP BY user_id.","intermediate","md","g",{},true,"\u002Fterms\u002Fg\u002Fgroup-by",[92,93,94,95],"HAVING","ORDER BY","SELECT","Subquery",{"title":5,"description":84},{"changefreq":98,"priority":99},"weekly",0.7,"terms\u002Fg\u002Fgroup-by","SybjVY1bAwFOJjMBRT1EDjvf84QU7-hslIiLxGkarDg",[103,106,110,113],{"title":92,"path":104,"acronym":6,"category":83,"difficulty":85,"description":105},"\u002Fterms\u002Fh\u002Fhaving","HAVING is like WHERE but it filters after GROUP BY aggregation. WHERE filters rows before grouping, HAVING filters groups after.",{"title":93,"path":107,"acronym":6,"category":83,"difficulty":108,"description":109},"\u002Fterms\u002Fo\u002Forder-by","beginner","ORDER BY sorts your query results. Add DESC for newest first, ASC for oldest first.",{"title":94,"path":111,"acronym":6,"category":83,"difficulty":108,"description":112},"\u002Fterms\u002Fs\u002Fselect","SELECT is how you ask a database to give you data. It is the 'Read' in CRUD.",{"title":95,"path":114,"acronym":6,"category":83,"difficulty":85,"description":115},"\u002Fterms\u002Fs\u002Fsubquery","A subquery is a query inside a query. The inner query runs first and its result is used by the outer query.",1776518283323]