我正在尝试从MySQL表生成报告。 但我无法想象如何去做。
我有一张这样的桌子。
+--------+------+------+
| Result | col1 | col2 |
+--------+------+------+
| 1 | A | B |
| 1 | C | D |
| 1 | E | F |
| 2 | G | H |
| 2 | I | J |
| 2 | K | L |
| 2 | M | N |
| 3 | O | P |
| 4 | Q | R |
| 4 | S | T |
+--------+------+------+
对此类数据进行分组的最佳方法是什么
Result col1 col2 Total
________________________________________
1 3
________________________________________
A B
----------------------------------------
C D
----------------------------------------
E F
________________________________________
2 4
________________________________________
G H
.
.
.
_________________________________________
Total 10
我在考虑使用变量, 并存储第一个Result和foreach行 比较它直到它改变。 如果更改,则再次使用总计打印标题 的行。 并将变量的值设置为新的Result值。
迭代此查询生成的表。
SELECT
A.result,
A.col1,
A.col2,
(
SELECT
COUNT(Result)
FROM
Example AS B
WHERE
A.result = b.result
) AS Total
FROM
Example AS A;
使用此表
+--------+------+------+-------+
| result | col1 | col2 | Total |
+--------+------+------+-------+
| 1 | A | B | 3 |
| 1 | C | D | 3 |
| 1 | E | F | 3 |
| 2 | G | H | 4 |
| 2 | I | J | 4 |
| 2 | K | L | 4 |
| 2 | M | N | 4 |
| 3 | O | P | 1 |
| 4 | Q | R | 2 |
| 4 | S | T | 2 |
+--------+------+------+-------+
提前致谢。