能简单介绍下你的应用场景么?因为就此问题,解决方法从不同角度有很多样
概述
根据你的描述,我建议你使用redis,其实就是实现一个计数器功能(比如大型网站的点赞功能,文章ID就是你的A,点赞次数就是你的B)
具体实现
用INCR命令,命令说明见http://redisdoc.com/string/in...
INCR A,其中A就是redis的key,也就是你表中的字段A
例子
Redis Incr 命令将 key 中储存的数字值增一。
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
本操作的值限制在 64 位(bit)有符号数字表示之内。
示例:
127.0.0.1:6379> set num 10
OK
127.0.0.1:6379> incr num
(integer) 11
127.0.0.1:6379> get num # 数字值在 Redis 中以字符串的形式保存
"11"
实践证明
我们有一个web应用,我们想记录每个用户每天访问这个网站的次数。
web应用只需要通过拼接用户id和代表当前时间的字符串作为key,每次用户访问这个页面的时候对这个key执行一下incr命令。
select A,max(B) from table_x group by A, 获取每个A的最大B
直接获取每个A的最大B不就好了,B=1表示首次,B>1肯定不是首次 ? 是这个逻辑么