Why? Because it's Friday and I'm feeling silly :)

mysql> SELECT * FROM sales;
+--------------+-------+--------+
| company      | state | sales  |
+--------------+-------+--------+
| ABC          | AZ    | 140.01 | 
| XYZ          | AZ    |  17.76 | 
| ABC          | NY    | 123.45 | 
| XYZ          | NY    | 123.00 | 
| Widgets Inc. | NY    |  45.09 | 
| ABC          | NY    |  23.73 | 
| Widgets Inc. | CA    |  97.30 | 
+--------------+-------+--------+
7 rows in set (0.00 sec)

mysql> SELECT 'each' AS 'By', company AS Company, state AS State, LPAD( 
SUM(sales), 9, ' ' ) AS Sales,
    ->   LPAD( FORMAT( SUM(sales)*100/(SELECT SUM(sales) FROM sales),2), 9, ' ' 
) AS Percent,
    ->   REPEAT( '*',  SUM(sales)*50/(SELECT SUM(sales) FROM sales) )
    ->     AS Graph
    ->   FROM sales
    ->   GROUP BY company, state
    -> UNION
    -> SELECT '  company', company, '', LPAD( SUM(sales), 9, ' ' ),
    ->   LPAD( FORMAT( SUM(sales)*100/(SELECT SUM(sales) FROM sales),2), 9, ' ' 
),
    ->   REPEAT( '*',  SUM(sales)*50/(SELECT SUM(sales) FROM sales) )
    ->   FROM sales
    ->   GROUP BY company
    -> UNION
    -> SELECT ' state', '', state, LPAD( SUM(sales), 9, ' ' ),
    ->   LPAD( FORMAT( SUM(sales)*100/(SELECT SUM(sales) FROM sales),2), 9, ' ' 
),
    ->   REPEAT( '*',  SUM(sales)*50/(SELECT SUM(sales) FROM sales) )
    ->   FROM sales
    ->   GROUP BY state
    -> UNION
    -> SELECT ' -----', '-----', '-----', REPEAT( '-', 9 ), REPEAT( '-', 9 ), 
REPEAT( ' ', 50 )
    -> UNION
    -> SELECT '-----', '-----', '-----', REPEAT( '-', 9 ), REPEAT( '-', 9 ), 
REPEAT( ' ', 50 )
    -> ORDER BY 1,2
    -> ;
+-----------+--------------+-------+-----------+-----------+----------------------------------------------------+
| By        | Company      | State | Sales     | Percent   | Graph              
                                |
+-----------+--------------+-------+-----------+-----------+----------------------------------------------------+
|   company | ABC          |       |    287.19 |     50.35 | 
*************************                          | 
|   company | Widgets Inc. |       |    142.39 |     24.97 | ************       
                                | 
|   company | XYZ          |       |    140.76 |     24.68 | ************       
                                | 
|  -----    | -----        | ----- | --------- | --------- |                    
                                | 
|  state    |              | AZ    |    157.77 |     27.66 | **************     
                                | 
|  state    |              | CA    |     97.30 |     17.06 | *********          
                                | 
|  state    |              | NY    |    315.27 |     55.28 | 
****************************                       | 
| -----     | -----        | ----- | --------- | --------- |                    
                                | 
| each      | ABC          | AZ    |    140.01 |     24.55 | ************       
                                | 
| each      | ABC          | NY    |    147.18 |     25.81 | *************      
                                | 
| each      | Widgets Inc. | CA    |     97.30 |     17.06 | *********          
                                | 
| each      | Widgets Inc. | NY    |     45.09 |      7.91 | ****               
                                | 
| each      | XYZ          | AZ    |     17.76 |      3.11 | **                 
                                | 
| each      | XYZ          | NY    |    123.00 |     21.57 | ***********        
                                | 
+-----------+--------------+-------+-----------+-----------+----------------------------------------------------+
14 rows in set, 2 warnings (0.01 sec)

mysql> 


-- 
Just my 0.00000002 million dollars worth,
  Shawn

"Where there's duct tape, there's hope."

"Perl is the duct tape of the Internet."
        Hassan Schroeder, Sun's first webmaster


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to