MySQL GROUP BY和条件

时间:2012-10-17 15:35:51

标签: php mysql database codeigniter group-by

我想将下表分组并在检查选项值时返回parts_number。 也就是说,对于具有相同parts_number的部件,将相同的选项值组合在一起。没有混合parts_number具有不同的选项值。

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。任何帮助都非常感谢。

2 个答案:

答案 0 :(得分:3)

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

应该有用。

答案 1 :(得分:0)

我同意@YogendraSingh's answer;但是很难从你的问题中判断出你(也是?)是否想要分组结果的计数,可以通过以下方式获得:

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