下記のようなDBが有ったとします。
この中でTシャツ
と(おすすめ)Tシャツ
があると思うのですが、こちらは同一のものなのでSQLを実行した結果はResult
のようにカウントして欲しいです。
自分が考えた仕組みはまず商品の個数を出してそこからLIKE
でitemName
が含まれていて同じものがあった場合そのtotal
を該当するものに足す感じだと思う(例えばTシャツ
と(おすすめ)Tシャツ
は同じものなので合算する)のですがSQL初心者のためうまく文が思い浮かぶません。
よろしくお願いします。
SQL
1SELECT itemName, SUM(CASE WHEN itemName LIKE itemName THEN 合計 ELSE 0 END) AS 最終合計 2(SELECT COUNT(*) AS 合計 3FROM solds 4WHERE itemName NOT LIKE 'クーポン%' and itemName NOT LIKE '090%' 5GROUP BY itemName) AS X
DB
1| name | itemName | total | 2| 織田信長 | Tシャツ | 1 | 3| 徳川家康 | (おすすめ)Tシャツ | 1 | 4| 西郷隆盛 | (おすすめ)Tシャツ | 1 | 5| 豊臣秀吉 | パンツ | 1 |
Result
1| itemName | 合計 | 2| Tシャツ | 3 | 3| パンツ | 1 |
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。