gpt4 book ai didi

mysql - 计算多列的分组

转载 作者:行者123 更新时间:2023-11-29 07:26:12 26 4
gpt4 key购买 nike

我有一张多个演出日期的门票表。基本上,它看起来像这样......

+----+---------------+--------------+-----------+
| ID | ticket_holder | ticket_buyer | show_date |
+----+---------------+--------------+-----------+

ticket_holder 和ticket_buyer 都是用户id

如果我想计算一个持票人拥有的门票总数,我可以按该持有人分组并计算行数,但我想要的统计数据不止于此。

我想知道用户购买的门票总数,他们持有多少张以及他们购买了多少场门票。

+------+---------+--------+-------+
| USER | HOLDING | BOUGHT | DATES |
+------+---------+--------+-------+
| 1 | 12 | 24 | 7 |
+------+---------+--------+-------+
| 2 | 3 | 4 | 2 |
+------+---------+--------+-------+
| 3 | 1 | 2 | 1 |
+------+---------+--------+-------+

是否可以将所有这些放在一个查询中,或者我需要做一些 php 的事情来实现它吗?

最佳答案

我会在多个查询中这样做。您不能在单个查询中按或者ticket_holderticket_buyer 分组。如果您尝试 GROUP BY ticket_holder, ticket_buyer 那么它将按 列分组,这不是您想要的。

SELECT ticket_holder, COUNT(*) AS tickets_held
FROM `a table of tickets` GROUP BY ticket_holder;

SELECT ticket_buyer, COUNT(*) as tickets_bought
FROM `a table of tickets` GROUP BY ticket_buyer;

SELECT ticket_buyer, COUNT(DISTINCT show_date) AS shows_bought
FROM `a table of tickets` GROUP BY ticket_buyer;

并非所有任务都必须在单个查询中完成!它应该由某些应用程序语言使用,这是 SQL 设计的一部分,并且您需要在应用程序中处理格式设置和显示。

关于mysql - 计算多列的分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53618537/

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