私は、食事の注文ID、食事を注文した人の個人IDと食事を記録する 'orders'というテーブルを持っていますこれは1、2、または3)SQL- '類似の'行と場所の結果を別のテーブルに集計する
orders
oid | pid | meal
________________
1 | 1 | 2
2 | 1 | 3
3 | 3 | 1
4 | 5 | 2
5 | 5 | 2
6 | 5 | 1
することができ、私は私がPID毎に各食事の注文の数を表示することができます結果を生成します:
pid | meal1 | meal2 | meal3
____________________________
1 | 0 | 1 | 1
3 | 1 | 0 | 0
5 | 0 | 2 | 1
私はないですSQLのエキスパートですが、私はまずリストをpidでグループ化し、次に食事でグループ化すると考えていました。しかし、私はどのようにカウントするのですか?私は本当に失われています。
を、それを合計する必要があります。しかし、mySQLはピボットをサポートしていません。これは、case文とsumを使用して実現できます。あなたの食事が異なる列になってほしいので、食事によるグループ分けは機能しません。 case文を使用すると、各食事#ごとに列を定義し、問題のレコードが食事1,2,3用であるかどうかを単純に評価し、結果を合計することができます。 – xQbert