mysqli计数按多列分组

mysqli计数按多列分组,mysql,Mysql,我想根据多列的参与情况计算行数 +----+---------------+--------------+ | ID | ticket_holder | ticket_buyer | +----+---------------+--------------+ | 1 | jim | jim | +----+---------------+--------------+ | 2 | sue | gor | +----+

我想根据多列的参与情况计算行数

+----+---------------+--------------+
| ID | ticket_holder | ticket_buyer |
+----+---------------+--------------+
| 1  | jim           | jim          |
+----+---------------+--------------+
| 2  | sue           | gor          |
+----+---------------+--------------+
| 3  | gor           | jim          |
+----+---------------+--------------+
| 4  | nic           | jim          |
+----+---------------+--------------+
我的tickets表是这样的,我想返回一个数组,该数组包含每个人的id,但也包含他们作为购票者或持票者参与的节目数(但不包括两次)

我想要的结果是这样的数组

+---------+--------------+
| user    | ticket_count |
+---------+--------------+
| jim     | 3            |
+---------+--------------+
| gor     | 2            |
+---------+--------------+
| sue     | 1            |
+---------+--------------+
| nic     | 1            |
+---------+--------------+

你可以做的一件事是分别计算每个持票人或买票人的人数,然后减去他们的人数

要计算每个人成为持有人或买家的次数,您可以使用这些查询

select count(*), ticket_holder from table group by ticket_holder
select count(*), ticket_buyer from table group by ticket_buyer
要计算一个人既是买家又是持有人的次数:

select count(*), ticket_buyer from table where ticket_holder=ticket_buyer group by ticket_buyer

这些可以合并到一个查询中,但如果您在数据库之外进行计算,可能更容易理解和维护

能否请您用代码更新您的问题,以便我们知道您迄今为止尝试了什么?谢谢如果您可以提供一些示例数据来创建表,您可以对DB运行
SHOW create TABLE TABLE name
,以获取创建表的SQL,这将是非常好的。或者,如果数据只是测试数据,您可以将其导出到屏幕并粘贴到其中。