如何在mysql查询中获得所需的结果?

用户名

我使用此查询来获取:来自tblcustomers的customername来自针对每个客户的tbltransactions的transactionamount的总和

select a.customerid, sum(transactionamount) as transactionamount ,b.customername
from tbltransactions a 
join tblcustomers b using (customerid) 
group by a.customerid 
order by b.customername

transactionamounttbltransactions包含客户购买的正值和客户付款的负值。

如何在此查询中为每个客户获得此表达式min(transactionamount)<0

编辑:min(transactionamount)<0使我到目前为止每个客户支付的最大金额

戈登·利诺夫(Gordon Linoff)

您可以使用条件聚合来做到这一点:

select a.customerid, sum(transactionamount) as transactionamount, b.customername,
       min(case when transactionamount < 0 then transactionamount end) as BiggestPayment
from tbltransactions a join
     tblcustomers b
     using (customerid)
group by a.customerid
order by b.customername;

请注意,小于0的最小值实际上是最小值而不是最大值。

编辑:

在这种情况下,我将使用substring_index()/group_concat()技巧找到最新的付款日期

substring_index(group_concat((case when transactionamount < 0 then transactionamount end)
                              order by transactiondate desc
                            ), ',', 1)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

MySql:如何获得所需的结果

如何对该查询进行分组以获得所需的结果

SQL查询可从3个表中获得所需结果

如何在JAVA中获得所需的输出

如何在同一个表上合并两个查询以在MySQL中获得单个结果集

JPA标准查询-如何在两个表上实现联接以在单个查询中获得所需的结果

查询以获得所需结果的问题

如何在MySQL查询中检查无结果

如何在mysql中获得独特的结果?

在LINQ中无法获得所需查询的结果

如何从mongodb查询中获得中间结果

如何在PostgreSQL查询中以JSON形式获得联接结果?

如何获得mysql准备查询的结果

如何从SQL Server查询中获得所需的信息

递归查询以获得所需的结果集

我需要完美的mysql查询以获得所需的结果

如何在jsp页面中获取mysql查询结果?

PHP和mysql如何使用联接获得所需的结果

如何在单个查询而不是N + 1中获得此查询结果

如何在 SQL Server 中获得所需的结果

如何在函数中传递mysql查询并获取结果

如何在 Elastic Search 中获得这个 sql 查询结果

MYSQL:从查询中获得的结果出错

我将如何在此查询中获得正确的结果?

如何在查询中获得多个结果?

如何在 MYSQL 中获得 SUM 结果作为别名?

我如何在sql中编写条件以获得所需的结果SQL

如何修复单行子查询在选择查询中返回多于一行的问题,以便以所需的方式获得结果?

我应该如何在 SQL 查询中编辑 WHERE 子句以获得所需的结果?