2012-10-17 102 views
0

我想將下表分組並在檢查選項值時返回parts_number。 也就是說,對於具有相同parts_number的零件,將相同的選項值組合在一起。沒有混合parts_number與不同的選項值。MySQL GROUP BY和條件

parts | parts_number | option 
A | 100 |1 
B | 120 |1 
A | 100 |0 
C | 110 |1 
B | 120 |1 
C | 110 |0 
A | 100 |0 
A | 100 |0 
A | 100 |1 

在上述情況下,我應該有我的結果返回行如下:

parts | parts_number | option 
A | 100 |1 
B | 120 |1 
A | 100 |0 
C | 110 |1 
C | 110 |0 

A => 2 
B => 1 
C => 2 

注分組,而不是混合不同的選項部分。 我試圖group_by parts_number,但我被困在我不得不迎合我的選擇的地步。

我使用PHP(CodeIgniter)和MySQL。任何幫助,高度讚賞。

+0

僅供參考,您無需添加HTML標記來格式化代碼。如果你想向我們展示一些代碼,只需將它放在一個代碼塊中,Stack Overflow就可以很好地爲你編寫代碼。 – BadHorsie

+0

我可以group_by parts_number,但我如何檢查/添加此查詢中的選項值SELECT * FROM my_table GROUP BY parts_number –

回答

3
SELECT parts, parts_number, option 
FROM parts 
GROUP BY parts, parts_number, option 

應該工作。

+0

這意味着我們正在執行多個組右邊 –

+0

不錯的一個yogendra bhai ... – StaticVariable

+0

@nairobicoder:這意味着部件,parts_number和選項值相同的那些行都被視爲組的一部分。所以它是由多個屬性分組的,是的。 –

0

我同意@YogendraSingh's answer;但是很難從你的問題告訴你(也?)是否要分組的結果,可以用獲得的計數:

SELECT parts, COUNT(DISTINCT parts_number, option) FROM my_table GROUP BY parts