TK Study

Software Engineering › Learn step by step › Y12 Programming for the Web

Item 284 of 426 · Year 12: Programming for the Web, 50 of 59

SQL GROUP BY

Code pattern

Jump to a topic
  1. Exam format, question types and command words (46)
  2. Year 11: Programming Fundamentals (69)
  3. Year 11: The Object-Oriented Paradigm (33)
  4. Year 11: Programming Mechatronics (29)
  5. Year 12: Secure Software Architecture (57)
  6. Year 12: Programming for the Web (59)
  7. Year 12: Software Automation (35)
  8. Year 12: The Software Engineering Project (47)
  9. Diagrams and modelling tools (18)
  10. Python, SQL, pseudocode and CSS patterns (33)

See every item in the sequence

Definition

Groups rows that share a value so aggregate functions (COUNT, SUM, AVG, MIN, MAX) can be applied to each group.

Example

SELECT class, COUNT(*) FROM students GROUP BY class;

Found in: syllabus, course specifications, 2025 HSC marking guidelines, school notes.

Where you'll use it in the test

Syllabus area: Y12 Programming for the Web.

Question types it can appear in

  • SQL: 2025 Q21 and sample Q22a
  • Fill in the blanks: Choose this term to complete a statement or table.
  • Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  • Multi-select: You tick every correct option, so know all its features or goals.

Where it has appeared in the paper

Programming for the Web (Part A, B). Part letters follow each paper’s own layout.

Related past questions

How to use it

A model sentence

General advice, built from the definition and example above

Code pattern: “Groups rows that share a value so aggregate functions (COUNT, SUM, AVG, MIN, MAX) can be applied to each group.” Then apply it: SELECT class, COUNT(*) FROM students GROUP BY class;

In a short answer, give the definition in your own words first, then tie it to the situation in the question. Do not copy the example above unless it fits the scenario.

Official worked answer

2025 HSC Q21 (4 marks): SQL queries (4 marks): official criteria and sample answer

Criteria

4: Correct SQL query that extracts 'Pending' and 'Escalated' jobs for the 'Software' and 'Hardware' categories, counts the jobs for each status in each category, and outputs results in descending order. 3: Addresses most requirements. 2: Some understanding of the problem. 1: Some understanding of SQL or the problem.

Sample answer

SELECT Category, Status, COUNT(JobID) AS Jobs FROM Issues WHERE (Status = 'Pending' OR Status = 'Escalated') GROUP BY Status, Category ORDER BY Jobs DESC

Open the question page

Go deeper

Check yourself

Write or say the “SQL GROUP BY” pattern from memory: the syntax and what it does.

Reveal the answer

Groups rows that share a value so aggregate functions (COUNT, SUM, AVG, MIN, MAX) can be applied to each group.

Example: SELECT class, COUNT(*) FROM students GROUP BY class;

Could be tested as: SQL, Fill in the blanks, Code reading, Multi-select.