2016-04-18 2 views
1

2010年の総利益を降順で表示するクエリを作成することになっています。2010年の各月の総利益を降順で表示するクエリ?

これまでのところ、総利益を2010年の降順で示したクエリがあります。毎月抽出することができますが、私は2つを接続することはできません。

select (SalesPrice - AcquisitionPrice) profit, datesold 
from Transaction 
where DateSold >= '10-jan-01' and DateSold <= '10-dec-31'; 

と:

select to_char(datesold, 'mon') 
from transaction 
group by to_char(datesold, 'mon') 
+2

mysqlのO rオラクル? – scaisEdge

+0

mysqlにする必要があります。 2番目のクエリはOracleでは実行されません。また、日付計算は、Oracleではto_date(thingie、format_mask)なしでは動作しませんでした。 –

+0

@TGray 'NLS_DATE_FORMAT'パラメータが' YY-MON-DD'に設定されていると、Oracleは 'NLS_DATE_FORMAT'セッションパラメータを使用して文字列リテラルに対して暗黙の' TO_DATE(datevalue、format_mask)フォーマットマスクとして使用します。クライアントがセッションパラメータを変更できるように、形式マスクを明示的に指定するか、ANSI/ISOの日付リテラルを使用する方がよいでしょう。 – MT0

答えて

0

Oracleのクエリ

SELECT TRUNC(datesold, 'MM') AS "Month", 
     SUM(SalesPrice - AcquisitionPrice) AS profit 
FROM Transaction 
WHERE EXTRACT(YEAR FROM datesold) = 2010 
GROUP BY TRUNC(datesold, 'MM') 
ORDER BY TRUNC(datesold, 'MM') DESC 

MySQLとOracleのクエリ

SELECT EXTRACT(MONTH FROM datesold) AS mnth, 
     SUM(SalesPrice - AcquisitionPrice) AS profit 
FROM Transaction 
WHERE EXTRACT(YEAR FROM datesold) = 2010 
GROUP BY EXTRACT(MONTH FROM datesold) 
ORDER BY EXTRACT(MONTH FROM datesold) DESC 
関連する問題