我正在努力找出执行以下操作的最佳方法:
在数据库中,我有两个字段-q1,q2。
我想先统计一下q1的订单和分组响应,这很简单。
1. SELECT q1, COUNT(q1) FROM xyz GROUP BY q1 ORDER BY q1
现在,为了论证起见,让我们假设这会带回以下内容:
A = 5
B = 12
C = 3
我需要通过此查询获得以下信息:
2. SELECT q2, COUNT(q2) FROM xyz WHERE q1 = A GROUP BY q2 ORDER by q2
这很好,但每次第一个查询返回结果时,是否有方法在循环中迭代上述内容,因此在本例中为2的代码。对q1=A、q1=B和q1=C进行迭代和循环?
有道理吗?我不确定我描述得有多好,所以我道歉。
您可以使用以下单个查询来实现这一点:
SELECT q2, COUNT(q2)
FROM xyz
GROUP BY q1, q2
ORDER by q1, q2;