Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 按降序显示2010年每个月总利润的查询?_Mysql_Sql_Oracle - Fatal编程技术网

Mysql 按降序显示2010年每个月总利润的查询?

Mysql 按降序显示2010年每个月总利润的查询?,mysql,sql,oracle,Mysql,Sql,Oracle,我应该写一个查询,以降序显示2010年每个月的总利润 到目前为止,我有一个按降序显示2010年总利润的查询,我有一个可以每月提取的查询,但我似乎无法将两者联系起来 select (SalesPrice - AcquisitionPrice) profit, datesold from Transaction where DateSold >= '10-jan-01' and DateSold <= '10-dec-31'; Oracle查询: SELECT TRUNC( dates

我应该写一个查询,以降序显示2010年每个月的总利润

到目前为止,我有一个按降序显示2010年总利润的查询,我有一个可以每月提取的查询,但我似乎无法将两者联系起来

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

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
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
MySQL和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
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

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
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
MySQL和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
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

必须是mysql。第二个查询不会在Oracle中运行。此外,在Oracle中,如果没有to_日期(thingie,format_mask),日期数学将无法工作。@t如果
NLS_date_format
参数设置为
YY-MON-DD
,Oracle将尝试执行隐式的
to_日期(datevalue,format_mask),则日期数学将在Oracle中工作
使用
NLS\u DATE\u格式的字符串文本
会话参数作为格式掩码。最好明确指定格式掩码(因为客户端可以更改会话参数)或使用ANSI/ISO日期文字。@MT0,你说得对。作为一名顾问,我从不使用这个参数,因为我的客户数据库中没有通用性,其中一些数据库使用的是非常旧的版本(想想v6.0.27)。我发现总是格式化日期是一个很好的做法。YMMV:)必须是mysql。第二个查询不会在Oracle中运行。此外,在Oracle中,如果没有to_日期(thingie,format_mask),日期数学将无法工作。@t如果
NLS_date_format
参数设置为
YY-MON-DD
,Oracle将尝试执行隐式的
to_日期(datevalue,format_mask),则日期数学将在Oracle中工作
使用
NLS\u DATE\u格式的字符串文本
会话参数作为格式掩码。最好明确指定格式掩码(因为客户端可以更改会话参数)或使用ANSI/ISO日期文字。@MT0,你说得对。作为一名顾问,我从不使用这个参数,因为我的客户数据库中没有通用性,其中一些数据库使用的是非常旧的版本(想想v6.0.27)。我发现总是格式化日期是一个很好的做法。YMMV:)