我有一个"交易"包含以下列的表
ID TIMESTAMP USER ID DESCRIPTION AMOUNT REF_ID TYPE
说明栏包含用于举例的付款平台" STRIPE-ch_1745"。我们目前在参考文献中描述了4个平台,如上例所示。我想要的是获得支付平台,平台处理的总金额和交易数量。喜欢这个
Platform Amount Count
Stripe 100,000 78
iOS 78,000 50
我目前的代码只为我提供了一个平台的这些值,我无法正确构建这个值以获得所需的结果。我假设我需要嵌套的select语句,所以我以这种方式编写代码
SELECT txn_count, sum
FROM
(SELECT count(*) AS txn_count, sum(`transaction`.`amount`) AS `sum`
FROM `transaction`
WHERE (`transaction`.`type` = 'credit'
AND (`transaction`.`description` like 'stripe%')
AND str_to_date(concat(date_format(`transaction`.`timestamp`, '%Y-%m'), '-01'), '%Y-%m-%d') = str_to_date(concat(date_format(now(), '%Y-%m'), '-01'), '%Y-%m-%d'))) t1
现在给我的是
Txn Count Sum
311 501,000
希望获得有关如何获得预期表格的一些帮助
答案 0 :(得分:1)
试试这个:(编辑删除参考部分,假设参考总是由平台用' - '分隔)
SELECT
LEFT(t.description,LOCATE('-',t.description) - 1) as 'Platform',
SUM(t.amount) as 'Amount',
COUNT(*) as 'Count'
FROM transaction t
GROUP BY Platform