Mysql 计数和分组

Mysql 计数和分组,mysql,Mysql,我正在尝试对数据库中的信息进行分组和计数 我有以下数据: column_a | column_b ------------------- A | 1 A | 2 A | 2 B | 3 B | 3 A | 3 B | 3 column_a | column_b | a_total | b_total --------------------------------------- A

我正在尝试对数据库中的信息进行分组和计数

我有以下数据:

column_a | column_b
-------------------
A        | 1
A        | 2
A        | 2
B        | 3
B        | 3
A        | 3
B        | 3
column_a | column_b | a_total | b_total
---------------------------------------
A        | 3        | 4       | 1
A        | 2        | 4       | 2
A        | 1        | 4       | 1
B        | 3        | 3       | 3
我希望数据创建一列,将与
column\u a
的值匹配的行数计算到
a\u total
中。然后我想将
column_b
值分组为A类。然后,数据应按
A_total
降序,然后按column_b降序输出

我想要这个输出:

column_a | column_b
-------------------
A        | 1
A        | 2
A        | 2
B        | 3
B        | 3
A        | 3
B        | 3
column_a | column_b | a_total | b_total
---------------------------------------
A        | 3        | 4       | 1
A        | 2        | 4       | 2
A        | 1        | 4       | 1
B        | 3        | 3       | 3
到目前为止我得到了什么…

到目前为止,我已经
选择了列a,列b,COUNT(*)作为b_总计,从这个表组中按列a,按列b顺序按列描述,b_total DESC
列b
与正确的
b_total
按顺序排列,但我不确定如何在同一查询中也将
列a
的总计放入
a_total

任何帮助都会很好

CREATE DATABASE test;
USE test;
CREATE TABLE t ( a VARCHAR(5), b INT );
INSERT t VALUE ('A', 1),('A', 2),('A', 2),('B', 3),('B', 3),('A', 3),('B', 3);
/*询问*/

SELECT xx.a , xx.b , yy.a_total , zz.b_total
FROM
  (SELECT DISTINCT a, b FROM t) xx 
  INNER JOIN (SELECT COUNT(a) AS a_total, a FROM t GROUP BY a) yy 
    ON xx.a = yy.a 
  INNER JOIN (SELECT COUNT(a) AS b_total , a , b FROM t GROUP BY a, b) zz
    ON (zz.a = xx.a AND zz.b = xx.b)

删除了PHP标记,与PHP无关。