It may be easy to show the result by chart, like this.

Code:
------------------------------ Commands Entered ------------------------------
WITH
 source_data(dx , dy) AS (
SELECT edlevel
     , COUNT(*)
  FROM employee
 GROUP BY
       edlevel
)
SELECT dx  AS "edlevel(x)"
     , dy  AS "nbr of emp(y)"
     , LEFT('====================' , dy)
           AS "----+----10---+----20" 
  FROM source_data
;
------------------------------------------------------------------------------

edlevel(x) nbr of emp(y) ----+----10---+----20
---------- ------------- ---------------------
        12             2 ==                   
        14             5 =====                
        15             2 ==                   
        16            12 ============         
        17             5 =====                
        18             4 ====                 
        19             1 =                    
        20             1 =                    

  8 record(s) selected.

You can find other examples in Graeme Birchall's "DB2 SQL Cookbook" under the title "Making Charts Using SQL".
DB2 SQL Cookbook


Here are another charts(Vertical graph).

Example (1a):
Code:
------------------------------ Commands Entered ------------------------------
WITH
 source_data(dx , dy) AS (
SELECT edlevel
     , COUNT(*)
  FROM employee
 GROUP BY
       edlevel
)
, vertical_axis(y) AS (
VALUES -1
UNION ALL
SELECT y + 1
 FROM  vertical_axis
 WHERE y < (SELECT MAX(dy) + 5
              FROM source_data)
   AND y < 100000
)
SELECT
       CASE
       WHEN y = -1 THEN
            'edlevel |        5        10        15        20        25'
       WHEN y = 0 THEN
            '--------+--------*---------*---------*---------*---------*'
       WHEN MOD(y , 5) = 0 THEN
            LPAD( VARCHAR(y) || ' -' , 9 )
       ELSE '        |'
       END
       ||
       XMLCAST(
          XMLGROUP(
             COALESCE( LPAD('| ' , (dx - lag_dx) * 2) , '' ) AS xx
             ORDER BY dx
          )
          AS VARCHAR(60)
       )
       AS "Vertical bar graph (x:edlevel, y:count of employee)"
 FROM
       (SELECT dx , y
             , LAG(dx , 1 , 0)
                 OVER(PARTITION BY y
                          ORDER BY dx) lag_dx
          FROM vertical_axis AS v
          LEFT OUTER JOIN
               source_data   AS s
           ON  v.y BETWEEN 1 AND s.dy
       )
 GROUP BY
       y
 ORDER BY
       y DESC
;
------------------------------------------------------------------------------

Vertical bar graph (x:edlevel, y:count of employee)                                                                   
----------------------------------------------------------------------------------------------------------------------
        |                                                                                                             
        |                                                                                                             
     15 -                                                                                                             
        |                                                                                                             
        |                                                                                                             
        |                              |                                                                              
        |                              |                                                                              
     10 -                              |                                                                              
        |                              |                                                                              
        |                              |                                                                              
        |                              |                                                                              
        |                              |                                                                              
      5 -                          |   | |                                                                            
        |                          |   | | |                                                                          
        |                          |   | | |                                                                          
        |                      |   | | | | |                                                                          
        |                      |   | | | | | | |                                                                      
--------+--------*---------*---------*---------*---------*                                                            
edlevel |        5        10        15        20        25                                                            

  19 record(s) selected.

If horizontal axis(x) is not numeric...

Example (2):
Code:
------------------------------ Commands Entered ------------------------------
WITH
 source_data(dx , dy) AS (
SELECT workdept
     , DEC( AVG(salary) , 9 , 0 )
  FROM employee
 GROUP BY
       workdept
)
, vertical_axis(y) AS (
VALUES -2
UNION ALL
SELECT y + 1
 FROM  vertical_axis
 WHERE y < (SELECT MAX(dy) / 5000 + 3
              FROM source_data)
   AND y < 100000
)
SELECT CASE
       WHEN y <= 0 THEN
            SUBSTR( 'avg. salary|department |-----------+' , 25 + y * 12 , 12 )
       WHEN MOD(y , 5) = 0 THEN
            LPAD( VARCHAR(y * 5000) || ' -' , 12 )
       ELSE '           |'
       END
       ||
       XMLCAST(
          XMLGROUP(
             CASE y
             WHEN -2 THEN
                  LPAD( VARCHAR(INT(dy)) || '|' , 6 )
             WHEN -1 THEN
                  ' ' || dx || ' |'
             WHEN  0 THEN
                  '-----+'
             ELSE
                  COALESCE( LPAD( '|   ' , (x - lag_x) * 6 ) , '' )
             END  AS xx
             ORDER BY x )
          AS VARCHAR(60)
       )
       AS "Vertical bar graph (x:department, y:average salary)"
  FROM
       (SELECT dx , dy , x , y
             , LAG(x , 1 , 0)
                 OVER(PARTITION BY y
                          ORDER BY x) lag_x
          FROM vertical_axis
          LEFT OUTER JOIN
               (SELECT dx , dy
                     , ROW_NUMBER() OVER(ORDER BY dx) AS x
                 FROM  source_data
               )
           ON  y < (dy + 2500) / 5000
       )
 GROUP BY
       y
 ORDER BY
       y DESC
;
------------------------------------------------------------------------------

Vertical bar graph (x:department, y:average salary)                     
------------------------------------------------------------------------
           |                                                            
           |                                                            
    100000 -                                                            
           |        |                                                   
           |  |     |                                                   
           |  |     |                                                   
           |  |     |     |                 |                           
     75000 -  |     |     |                 |                           
           |  |     |     |                 |                           
           |  |     |     |                 |                           
           |  |     |     |                 |                           
           |  |     |     |     |     |     |           |               
     50000 -  |     |     |     |     |     |           |               
           |  |     |     |     |     |     |     |     |               
           |  |     |     |     |     |     |     |     |               
           |  |     |     |     |     |     |     |     |               
           |  |     |     |     |     |     |     |     |               
     25000 -  |     |     |     |     |     |     |     |               
           |  |     |     |     |     |     |     |     |               
           |  |     |     |     |     |     |     |     |               
           |  |     |     |     |     |     |     |     |               
           |  |     |     |     |     |     |     |     |               
-----------+-----+-----+-----+-----+-----+-----+-----+-----+            
department | A00 | B01 | C01 | D11 | D21 | E01 | E11 | E21 |            
avg. salary|89500|94250|80156|56900|53486|80175|46998|53827|            

  25 record(s) selected.