sql总结1

<!-- 预测模型    日期ENDDATE   品种NAME   市场名称MARKETPLACE--><!-- 市场均价 -->
<select id="QueryForecastMarketPrice" parameterType="pd" resultType="pd">
SELECT DATE_ADD(DATE,INTERVAL 1 DAY) AS FirstDay,ROUND(SUM(AVGPRICE)/3,4)AS FirstDayValue,
DATE_ADD(DATE,INTERVAL 2 DAY) AS SecondDay,ROUND((SUM(AVGPRICE)/3+(
SELECT SUM(AVGPRICE)
from  t_info_wholesaleprices 
where 1=1
AND MARKETPLACE=#{MARKETPLACE}
AND name=#{NAME}
<choose>
<when test="ENDDATE != null and ENDDATE != '' "> 
AND DATE_FORMAT(DATE,"%Y-%m-%d") <![CDATA[>=]]>DATE_FORMAT(#{ENDDATE}-1,"%Y-%m-%d")
</when>
<otherwise>
AND DATE >= (select DISTINCT date_sub((SELECT DISTINCT MAX(DATE) 
FROM t_info_wholesaleprices
WHERE NAME = #{NAME}),interval 1 day) 
from t_info_wholesaleprices) 
</otherwise>
</choose> 
<choose>
<when test="ENDDATE != null and ENDDATE != '' ">   
AND DATE_FORMAT(DATE,"%Y-%m-%d")<![CDATA[<=]]>DATE_FORMAT(#{ENDDATE},"%Y-%m-%d")
</when>
<otherwise>
AND DATE <![CDATA[<=]]>(select MAX(DATE) from t_info_wholesaleprices  WHERE NAME = #{NAME})
</otherwise>
</choose> 
))/3,4) AS SecondDayValue,
DATE_ADD(DATE,INTERVAL 3 DAY) AS ThirdDay,
ROUND((SUM(AVGPRICE)/3+(
(SUM(AVGPRICE)/3+(
SELECT SUM(AVGPRICE)
from  t_info_wholesaleprices 
where MARKETPLACE=#{MARKETPLACE}  
AND name=#{NAME}
<choose>
<when test="ENDDATE != null and ENDDATE != '' "> 
AND DATE_FORMAT(DATE,"%Y-%m-%d") <![CDATA[>=]]>DATE_FORMAT(#{ENDDATE}-1,"%Y-%m-%d")
</when>
<otherwise>
AND DATE >= (select DISTINCT date_sub((SELECT DISTINCT MAX(DATE) 
FROM t_info_wholesaleprices
WHERE NAME =#{NAME}),interval 1 day) 
from t_info_wholesaleprices) 
</otherwise>
</choose>
<choose>
<when test="ENDDATE != null and ENDDATE != '' "> 
AND DATE_FORMAT(DATE,"%Y-%m-%d")<![CDATA[<=]]>DATE_FORMAT(#{ENDDATE},"%Y-%m-%d") 
</when>
<otherwise>
AND DATE<![CDATA[<=]]>(select MAX(DATE) from t_info_wholesaleprices  WHERE NAME = #{NAME})
</otherwise>
</choose>    
))/3
)+(
SELECT SUM(AVGPRICE)
from  t_info_wholesaleprices 
where MARKETPLACE=#{MARKETPLACE}  
AND name=#{NAME} 
<choose>
<when test="ENDDATE != null and ENDDATE != '' "> 
AND DATE_FORMAT(DATE,"%Y-%m-%d") <![CDATA[>=]]> DATE_FORMAT(#{ENDDATE},"%Y-%m-%d") 
</when>
<otherwise>
AND DATE=(select MAX(DATE) from t_info_wholesaleprices  WHERE NAME = #{NAME})
</otherwise>
</choose>
))/3,4) AS ThirdDayValue
from  t_info_wholesaleprices 
where MARKETPLACE=#{MARKETPLACE} 
AND name=#{NAME}
<choose>
<when test="ENDDATE != null and ENDDATE != '' "> 
AND DATE_FORMAT(DATE,"%Y-%m-%d") <![CDATA[>=]]> DATE_FORMAT(#{ENDDATE}-2,"%Y-%m-%d") 
</when>
<otherwise>
AND DATE <![CDATA[>=]]> (select DISTINCT date_sub((SELECT DISTINCT MAX(DATE) 
FROM t_info_wholesaleprices
WHERE NAME = #{NAME}),interval 2 day) 
from t_info_wholesaleprices) 
</otherwise>
</choose> 
<choose>
<when test="ENDDATE != null and ENDDATE != '' "> 
AND DATE_FORMAT(DATE,"%Y-%m-%d") <![CDATA[<=]]> DATE_FORMAT(#{ENDDATE},"%Y-%m-%d")  
</when>
<otherwise>
AND DATE<![CDATA[<=]]>(select MAX(DATE) from t_info_wholesaleprices  WHERE NAME = #{NAME})
</otherwise>
</choose>
</select>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值