単一のテーブルがあり、テーブル構造は次のようになります。
unique_id vendor_name price1 price2 price3 code
1 Vendor 1 0.0012 0.0014 0.0054 125
2 Vendor 2 0.0015 0.0016 0.0050 125
3 Vendor 3 0.0011 0.0019 0.0088 125
4 Vendor 1 0.0025 0.0024 0.0034 126
5 Vendor 2 0.0043 0.0019 0.0065 126
6 Vendor 3 0.0019 0.0085 0.0082 126
各価格列グループの最小価格をコードで取得する必要があります。そして、私の予想される出力は次のとおりです。
Code price1 price2 price3 vendor for price1 vendor for price 2 vendor for price 3
125 0.0011 0.0014 0.0050 Vendor3 Vendor1 Vendor 2
126 0.0019 0.0019 0.0034 Vendor3 Vendor2 Vendor 1
では、このようなレコードを取得するための MySQL クエリは何でしょうか? また、テーブルから最大値と 2 番目に高い値を取得するクエリを作成する必要があり、単一のコードで任意の数の行が存在する可能性があります。
私のデータはこのSQL Fiddleにあります。
2 番目に高い値の場合、出力は次のようになります。
Code price1 price2 price3 vendor for price1 vendor for price 2 vendor for price 3
125 0.0012 0.0016 0.0054 Vendor1 Vendor2 Vendor 1
126 0.0025 0.0024 0.0065 Vendor1 Vendor1 Vendor 2