gpt4 book ai didi

mySQL:寻找事务表中每日统计的查询/sql解决方案

转载 作者:行者123 更新时间:2023-11-30 00:44:22 25 4
gpt4 key购买 nike

我有“交易”表,其中包含以下列:transactionDateTime、数量、价格、clientName、sellerName、transactionType(卖出/买入)....

现在我在网页(php)的表格中列出了所有这些交易。我想添加到列表中每个“卖家”每种交易类型(买入或卖出)的每日摘要。因此,至少我正在寻找将使用表进行汇总的查询,最多(不确定是否可能)是一个与我之前相同的平面列表的查询,加上一旦 transactionDateTime 变成新的一天的汇总结果。

提前谢谢您。

交易表示例:

transactionDateTime, quantity, price, clientName, stationID, transactionType, seller, typeID

  • '2014-01-04 05:44:02'、'2630'、'150.00'、'ClientA'、'60014917'、'购买'、'SellerA'、'2399'
  • '2014-01-04 05:41:02'、'2630'、'50.00'、'ClientB'、'60014914'、'购买'、'SellerA'、'2398'
  • '2014-01-04 04:23:45', '2','1900000.00', 'ClientC', '60014056','销售', 'SellerA', '27918'
  • '2014-01-04 01:08:33', '3', '2949499.99', 'ClientD', '60014056', '销售', 'SellerB', '31119'

  • '2014-01-01 15:57:35', '1', '168999999.99', 'ClientE', '60014917','sell', 'SellerA','19281'

  • '2014-01-01 13:00:18', '1', '38999999.00','ClientF', '60014917', '出售', 'SellerB', '14206'

现在我在网页上列出几乎未处理的行数据。我想要的应该是每天相同的列表+摘要。喜欢:

  • 摘要“2014-01-04”:卖家 A,购买 = (2630*150+2630*50)
  • 摘要“2014-01-04”:卖方 A,销售 = (2*1900000)
  • 摘要“2014-01-04”:SellerB,销售 = (3*2949499.99)
  • '2014-01-04 05:44:02'、'2630'、'150.00'、'ClientA'、'60014917'、'购买'、'SellerA'、'2399'
  • '2014-01-04 05:41:02'、'2630'、'50.00'、'ClientB'、'60014914'、'购买'、'SellerA'、'2398'
  • '2014-01-04 04:23:45'、'2'、'1900000.00'、'ClientC'、'60014056'、'出售'、'SellerA'、'27918'
  • '2014-01-04 01:08:33'、'3'、'2949499.99'、'ClientD'、'60014056'、'出售'、'SellerB'、'31119'
  • 摘要“2014-01-01”:卖方 A,销售 = (1*168999999.99)
  • 摘要“2014-01-01”:SellerB,销售 = (1*38999999.00)
  • '2014-01-01 15:57:35', '1', '168999999.99', 'ClientE', '60014917', '出售', 'SellerA', '19281'
  • '2014-01-01 13:00:18', '1', '38999999.00', 'ClientF', '60014917', '出售', 'SellerB', '14206'

在 SQL 查询中是否可以实现?或者我应该通过编程方法来做到这一点?

最佳答案

像这样的事情应该可以解决问题:

/* Your details. */
select 'DETAIL' type_of_record
, 1 sorting_order
, something_to_order_details_on sorting_order_detail
, transactionType
, sellerName
, transactionDateTime
, quantity
, price
from transactions
union
all
/* Your totals. */
select 'DAILY' type_of_record
, 2 sorting_order
, null sorting_order_detail
, transactionType
, sellerName
, trunc(transactionDateTime) /* Or whatever MySQL uses to round dates. */
, sum(quantity) quantity_sum
, sum(price) price_sum
from transactions
where transactionDateTime < trunc(now)
order
by sorting_order
, sorting_order_detail

关于mySQL:寻找事务表中每日统计的查询/sql解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21512208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com