2

次のような結果を生成する、かなり長く複雑なクエリがあります。

item_id  |  shop_id   |   sold
   5           3            0
   5           3            1
   5           3            1
   8           4            0
   8           6            1
   8           9            0

次に、何らかのSELECT item_id, COUNT(DISTINCT (shop_id)) FROM tableAbove GROUP BY item_id方法で取得する必要があります。

    item_id   | number of shops that sell/have sold item
       5                1
       8                3

ただし、各アイテムについて、それを販売したショップの数も必要です。したがって、次のようになります。

    item_id    |  number of shops that have sold item
       5                    1
       8                    1

クエリでそれらをまとめて与える方法を知っている人はいますか

    item_id    |  shops that sell item  |number of shops that have sold item
       5                     1                         1
       8                     3                         1
4

1 に答える 1

3
SELECT  item_id,
        COUNT(DISTINCT shop_id),
        COUNT(DISTINCT CASE WHEN sold = 1 THEN shop_id END)
FROM    my_query
GROUP BY
        item_id
于 2013-09-20T15:52:37.177 に答える