mysql 设置字段最小值,MySQL更新字段基于三分之一分组时另一个字段的最小值

I have read several threads on selecting for min, grouping etc but can't seem to create an efficient query to solve this. Please forgive if duplicate.

I have a table like:

ID Date Value Tag

1 1/1/13 500 NULL

2 1/1/13 10 NULL

3 1/1/13 12 NULL

4 1/2/13 99 NULL

5 1/2/13 136 NULL

6 1/2/13 17 NULL

Basically want an update query that populates the TAG field with a value of 1 when it has the lowest value grouped by date. In this example that would be IDs 2 and 6.

update table set tag = 1 (select min?)

解决方案

You can do this by calculating the min() and using a join to do the filtering:

update t join

(select date, min(value) as minvalue

from t

group by date

) tmin

on t.date = tmin.date and t.value = tmin.minvalue

set tag = 1;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值