我有一个表,我的表结构是这样的:
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 查询是什么?而且我还必须进行查询以从表中获取最大值和第二高值,并且可能有任意数量的带有单个代码的行。
我的数据在这个SQL Fiddle中。
在第二高值的情况下,输出应为:
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