高效获取最小值、最大值和汇总数据
我有一个账户表和一个交易表。在报告中,我需要为每个帐户显示以下内容:
First Purchase Date,
First Purchase Amount,
Last Purchase Date,
Last Purchase Amount,
# of Purchases,
Total of All Purchases.
交易表如下所示:
TX_UID
Card_Number
Post_Date
TX_Type
TX_Amount
目前,我继承的查询对于每个元素都有一个子查询。在我看来,必须有一种更有效的方法。我可以使用存储过程来执行此操作,而不是单个查询。
获取单个帐户的所有交易的查询示例如下:
select * from tx_table where card_number = '12345' and TX_Type = 'Purchase'
有什么想法吗?
I have a table of accounts and a table of transactions. In a report I need to show the following for each account:
First Purchase Date,
First Purchase Amount,
Last Purchase Date,
Last Purchase Amount,
# of Purchases,
Total of All Purchases.
The transaction table looks like this:
TX_UID
Card_Number
Post_Date
TX_Type
TX_Amount
Currently the query I've inherited has a sub-query for each of these elements. It seems to me that there's got to be a more efficient way. I'm able to use a stored procedure for this and not a single query.
A sample of a query to get all transactions for a single account would be:
select * from tx_table where card_number = '12345' and TX_Type = 'Purchase'
Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
试试这个:
我添加了计数..我第一次没有看到它。
如果您还需要多个 TX_Type 的摘要,则必须从 where 子句中获取它并将其放入组和内部选择连接中。但我猜你只需要购买
try this:
I added the count .. I didn't see it first time.
If you need also the summary on multiple TX_Types, you have to take it from the where clause and put it in the group and the inner selection join. But I guess you need only for purchases