2012-08-31 96 views
0

我試圖找出執行以下操作的最佳方法:MySQL PHP查詢問題

在數據庫中,我有兩個字段 - q1,q2。

我想先對q1進行計數,排序和組響應,這很簡單。現在

1. SELECT q1, COUNT(q1) FROM xyz GROUP BY q1 ORDER BY q1 

,爲了討論各種情形,讓我們假設這個帶回如下:

2. SELECT q2, COUNT(q2) FROM xyz WHERE q1 = A GROUP BY q2 ORDER by q2 

這很好,但:

A = 5 
B = 12 
C = 3 

的我通過此查詢需要以下信息有沒有一種方法可以在每次第一次查詢返回結果時循環遍歷上面的循環,因此在本例中,2.的代碼被迭代並循環用於q1 = A,q1 = B和q1 = C?

有意義嗎?我不確定我描述得如何,所以我表示歉意。

回答

1

你可以做到這一點使用單查詢爲:

SELECT q2, COUNT(q2) 
FROM xyz 
GROUP BY q1, q2 
ORDER by q1, q2; 
+0

嗨Omesh,謝謝,不過這並不是我所期待的。 –

+0

是否要爲'A','B',...分開結果集?在這種情況下,你可能不得不用'CURSOR'編寫一個存儲過程。 – Omesh

+0

是的,需要A,B,C等的結果。 –