mysql - 如何按日期分组
问题描述
下面我不能按日期分组以下数字。
我试图将Group By放在不同的行中,但没有用。
SELECT SUM(a.NetAmount) AS TotalDonation
FROM (
SELECT
(
CASE WHEN bt.BalanceTransactionCurrencyID = 17
THEN bt.BalanceTransactionNet
ELSE
bt.BalanceTransactionNet * (SELECT TOP 1 ExrateValue FROM Exrate WHERE ExrateDate < bt.BalanceTransactionCreated AND bt.BalanceTransactionCurrencyID = CurrencyID ORDER BY ExrateDate Desc)
END
) AS NetAmount
FROM Charge as ch
JOIN BalanceTransaction as bt ON (ch.BalanceTransactionID = bt.BalanceTransactionID)
WHERE ch.ChargeCreatedDate BETWEEN '3-1-2019' AND '3-31-2019'
) AS a
我想看:
Days Total Amount
March 1 xxxx
March 2 xxxx
March 3 xxx
解决方案
以下代码有望显示您正在寻找的内容
SELECT a.Days AS Days, SUM(cast(a.NetAmount as decimal(16,9))) AS TotalDonation
FROM (
SELECT
(
CASE WHEN bt.BalanceTransactionCurrencyID = 17
THEN bt.BalanceTransactionNet
ELSE
bt.BalanceTransactionNet * (SELECT TOP 1 ExrateValue FROM Exrate WHERE ExrateDate < bt.BalanceTransactionCreated AND bt.BalanceTransactionCurrencyID = CurrencyID ORDER BY ExrateDate Desc)
END
) AS NetAmount,
ch.ChargeCreatedDate as Days
FROM Charge as ch
JOIN BalanceTransaction as bt ON (ch.BalanceTransactionID = bt.BalanceTransactionID)
WHERE ch.ChargeCreatedDate BETWEEN '3-1-2019' AND '3-31-2019'
) AS a GROUP BY a.Days
这应该足够了。您需要SELECT
在查询中输入所需的值才能显示它。此外,在使用该SUM()
函数时,您需要指定组值。
推荐阅读
- javascript - 有承诺的用户 Apollo GraphQL
- excel - Excel VBA - 以多种形式访问同一个类
- android - 如何在类似于 pCloudy for Android 的 iOS 应用程序中测试电池消耗和帧渲染?
- python - TypeError:('关键字参数不理解:','子样本')
- python - 使用仅对角线数据的表中的值创建一行
- javascript - 如何使用纯javascript获取特定元素之前的所有元素?
- android-glide - Android Glide 不调整图像大小
- javascript - setTimeout in useEffect
- javascript - isNaN('Hello World!') 与 isNaN('')
- repast-simphony - Repast:在运行时调用初始化