原来四舍五入也有个国际惯例,叫奇进偶舍,意思是当舍入位前面一位是奇数时,就进,为偶数时,就舍,这也是体现公平性的原理。
可是国际惯例往往在国内很多企业行不通,为了应付他们的要求,采用Math.Round(price,2,MidpointRounding.AwayFromZero)就可以了。
SELECT Sum([TradeNum]), Sum([Payment]), [TradeTime],
(select sum([Payment]) from [Order] as o where [TradeStatus] =2 and o.ID=[Order].ID) as NoPayment
FROM [Order]
GROUP BY date(tradetime)
优化如下:
SELECT Sum([TradeNum]), Sum([Payment]), [TradeTime],O.NoPayment
FROM [Order] O,
(select ID,sum([Payment])NoPayment  from [Order] as o where [TradeStatus] =2 GROUP BY ID) T WHERE O.ID=T.ID
GROUP BY DATEPART(DD,tradetime) ,O.NoPayment
总结:在select 中如果需要到表中查询的话, 如果想办法把它拆分到from中来。
SQL中分布式查询用这个
BEGIN DISTRIBUTED TRANSACTION

相关文章:

  • 2022-01-06
  • 2021-09-26
  • 2021-06-18
  • 2022-12-23
  • 2021-12-01
  • 2022-12-23
猜你喜欢
  • 2021-05-18
  • 2021-09-29
  • 2021-11-15
  • 2022-12-23
  • 2022-12-23
  • 2021-07-20
  • 2022-01-06
相关资源
相似解决方案