0

このような製品テーブルがあります

+----------+------+-----------------+-------+-------+
| ParentID | SKU  |       Name      | Price | Color |
+----------+------+-----------------+-------+-------+
|        1 |  qwe | Product 1 Red   |     12| Reb   |
|        1 |  qaz | Product 1 Blue  |     13| Blue  |
|        1 |  erf | Product 1 Green |     11| Green |
|        2 |  tgb | Product 2 Black |     12| Black |
|        2 |  yhj | Product 2 White |     12| White |
|        3 |  ujk | Product 3 Red   |     15| Red   |
|        3 |  kjm | Product 3 Blue  |     19| Blue  |
|        3 |  gfd | Product 3 Pink  |     17| Pink  |
|        3 |  vgy | Product 3 White |     16| White |
|        3 |  njk | Product 3 Black |     10| Black |
|        4 |  cfg | Product 4 Red   |     12| Red   |
+----------+------+-----------------+-------+-------+

私が望むのは、そのすべてのアイテム情報を含む各親 ID に対して 1 つのアイテムを取得するクエリです。どの特定の行かは気にしませんが、その行のすべての情報があり、parentid ごとに 1 つだけある必要があります

私はこのようなものを残す必要があります

+----------+------+-----------------+-------+-------+
| ParentID | SKU  |       Name      | Price | Color |
+----------+------+-----------------+-------+-------+
|        1 |  qaz | Product 1 Blue  |     13| Blue  |
|        2 |  yhj | Product 2 White |     12| White |
|        3 |  gfd | Product 3 Pink  |     17| Pink  |
|        4 |  cfg | Product 4 Red   |     12| Red   |
+----------+------+-----------------+-------+-------+
4

1 に答える 1

0

あなたが試すことができます:

Select t.* from table t, 
(select parentId, min(price) as price
from table
group by parentId) a
where t.parentId = a.parentId
and t.price = a.price

アップデート:

SET @rownum := 0;

select min(b.rank), b.parentID, SKU,Name ,Price, Color from (
select @rownum := @rownum + 1 AS rank, parentID, SKU,Name ,Price, Color
from t1) b
group by b.parentID

フィドルへのリンク

于 2013-10-02T17:45:52.107 に答える