2012-09-14 75 views
1

我有如下表:MySQL查詢返回匹配的元素的列表清單

Products ::= 
    id   int, 
    category varchar, 
    line  varchar, 
    type  varchar, 
    marketType enum('first','second') 

我想要做的就是找到id S的所有產品名單與同categorylinetype ; line也可能是NULL或空字符串。

例子:

 
+------+----------+--------+------+ 
| id | category | line | type | 
+------+----------+--------+------+ 
| 123 |  1 | qwerty | X | 
| 534 |  1 | qwerty | X | 
| 90 |  1 | qwerty | Z | 
| 666 |  2 | qwerty | Z | 
| 444 |  2 | qwerty | Z | 
| 1616 |  2 | qwerty | Z | 
| 921 |  2 |  | X | 
| 16 |  2 |  | X | 
+------+----------+--------+------+ 

我要完成的結果是,其中每個元素是匹配id s的名單列表:

 
123, 534 
90 
666, 444, 1616 
921, 16 

回答

3

分組時,您可以使用MySQL的GROUP_CONCAT()功能您的表格由各列中相同的列組成:

SELECT GROUP_CONCAT(id) 
FROM  Products 
GROUP BY category, line, type 

sqlfiddle上查看。

+0

謝謝你的金牌幫助! – linuxatico