我可以使用
找到具有相同名称的给定记录集中值字段的最大值的行Select Name, Max(Value) from table group by Name, Value
它返回给我最高值的记录,但我希望将其转换为更新,以便我可以
IsMaxValue
简单的选择版本在这里:
http://sqlfiddle.com/#!9/ccd32/5
如果可能的话,可以按照上面的字段准备好更新。
答案 0 :(得分:0)
我相信这句话是你可能正在寻找的:
update maxvalues
join (
Select Color, Max(`Value`) max_value
from MaxValues
group by Color
) a on maxvalues.color = a.color and value = a.max_value
set ismaxrecord = '1', maxrecordid = a.max_value;
根据您的样本数据,更新后的表格如下所示:
| Color | Value | IsMaxRecord | MaxRecordID |
|--------|-------|-------------|-------------|
| Orange | 1 | | 0 |
| Orange | 2 | | 0 |
| Orange | 3 | 1 | 3 |
| Black | 30 | 1 | 30 |
| Black | 20 | | 0 |
| Black | 10 | | 0 |