• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar

Oracle PL/SQL Tutorial

  • Home
  • Joins
    • Inner Join
    • Left Join
    • Right Join
    • Self Join
    • Full Join
  • Constraints
    • Add primary key
    • Add constraint foreign key
    • Drop constraint key
    • Enable a foreign key
    • Disable foreign key
  • Cursors
  • Triggers
  • Indexes
    • Create index oracle
    • Alter index oracle
    • Drop index oracle
    • List all indexes from Oracle database
  • Exceptions
  • Interview Questions

ORA-00937: not a single-group group function

ORA-00937: not a single-group group function

Oracle PL/SQL error message: ORA-00937: not a single-group group function.

Cause:

A SELECT list cannot include both a group function, such as AVG, COUNT, MAX, MIN, SUM, STDDEV, or VARIANCE, and an individual column expression, unless the individual column expression is included in a GROUP BY clause.

Solution:

Drop either the group function or the individual column expression from the SELECT list or add a GROUP BY clause that includes all individual column expressions listed.




Students table

STUDENT_IDFIRST_NAMELAST_NAME
1DanielSCOTT
2AnthonySIMMONS
3SophiaTHOMPSON
4EmilyPETERSON
5DavidDAWSON
6GabrielLEWIS

Orders table

ORDER_IDCOURSE_IDSTUDENT_ID
116
345
2156
2214

Example:

select s.student_id, s.first_name, 
s.last_name, count(o.order_id) No
from students s, orders o 
where s.student_id = o.student_id
order by s.student_id;

Output:

ORA-00937: not a single-group group function

Correct:

select s.student_id, s.first_name, 
s.last_name, count(o.order_id) No
from students s, orders o 
where s.student_id = o.student_id
group by s.student_id, s.first_name, 
s.last_name, o.order_id
order by s.student_id;

Output:

STUDENT_IDFIRST_NAMELAST_NAMENO
4EmilyPETERSON1
5DavidDAWSON1
6GabrielLEWIS1
6GabrielLEWIS1

Filed Under: PL/SQL

Primary Sidebar

  • Facebook
  • RSS
  • Twitter
  • Create B-tree index
  • Create Composite Index
  • Create Bitmap Index
  • Create Function-Based Index
  • Index with Collect Statistics
  • List all indexes from Oracle database
  • List all tables from a schema of Oracle database
  • List all triggers from Oracle database

PL/SQL tutorial

  • PL/SQL Interview Questions and Answers
  • Sys_Connect_By_Path
  • Rank
  • Dense_Rank
  • Listagg

Secondary Sidebar

PL/SQL Tutorial

  • PL/SQL Tutorial
  • PL/SQL Functions
  • PL/SQL Select Query
  • PL/SQL Table Joins
  • PL/SQL Cursors
  • PL/SQL Collections and Records
  • PL/SQL Triggers
  • PL/SQL Views
  • PL/SQL Exception Handling
  • PL/SQL Sequential Control
  • PL/SQL Iterative Control
  • PL/SQL Control Structures
  • PL/SQL Procedure
  • PL/SQL Function
  • PL/SQL Data Types
  • PL/SQL Indexes
  • PL/SQL Constraints
  • PL/SQL %ROWTYPE Attribute
  • PL/SQL %TYPE Attribute
  • PL/SQL Variables
  • PL/SQL Anonymous block
  • PL/SQL Operators
  • PL/SQL Delete
  • PL/SQL Update
  • PL/SQL Insert
  • PL/SQL Select

Copyright  2013 - 2021 PL/SQL Tutorial

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Cookie settingsACCEPT
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary
Always Enabled

Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.

Non-necessary

Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.