私の作業テーブル、テーブル名: sales
これがMY TABLEです。[sl_noは主キーです]テーブル構造:
CREATE TABLE SALES
( SL_NO NUMBER PRIMARY KEY, REGION VARCHAR2(10) NOT NULL,
MONTH VARCHAR2(20) NOT NULL, YEAR NUMBER NOT NULL,
SALES_AMOUNT NUMBER NOT NULL )
ここにテーブルデータがあります:
SQL> select * from sales;
SL_NO REGION MONTH YEAR SALES_AMOUNT
---------- ---------- -------------------- ---------- ------------
1 east december 2011 750000
2 east august 2011 800000
3 west january 2012 640000
5 east march 2012 1200000
6 west february 2011 580000
4 west april 2011 555000
6 rows selected.
このクエリを試して、[2011,2012] 年の総売上高を表示しました。
SELECT year, SUM(sales_amount) FROM sales GROUP BY year;
YEAR SUM(SALES_AMOUNT)
---------- -----------------
2011 2685000
2012 1840000
MY GOAL:> 売上高が最大となった年を知りたいです。 私はこれを試してみましたが、完全に機能します...しかし、その年も表示したい場合、エラーが発生します。
SQL> select max(sum(sales_amount)) from sales group by year;
MAX(SUM(SALES_AMOUNT))
----------------------
2685000
SQL> select year, max(sum(sales_amount)) from sales group by year;
select year, max(sum(sales_amount)) from sales group by year
*
ERROR at line 1:
ORA-00937: not a single-group group function
おまけ: 複数の行が同じ値の場合....両方の年 [2011,2012] の売上額が同じ場合、 すると....
この問題を解決するのを手伝ってください。