1

私は次の表を持っています:

製品::=
   id          int、
   category    varchar、
   line        varchar、
   type        varchar、
   marketType enum('first'、'second')

私がやりたいのは、同じ、、;を持つすべてのid製品のリストを見つけることです。または空の文字列である可能性もあります。categorylinetypelineNULL

例:

+ ------ + ---------- + -------- + ------ +
| id | カテゴリ| ライン| タイプ|
+ ------ + ---------- + -------- + ------ +
| 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
4

1 に答える 1

3

GROUP_CONCAT()各グループで等しい列でテーブルをグループ化するときに、MySQLの関数を使用できます。

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

sqlfiddleでそれを参照してください。

于 2012-09-14T14:57:18.553 に答える