00:00
接下来我们了解一下唯一模型啊。那在某些分析场景下,你是要保证T的唯一性,也就是说你要根据T进行一个去重啊,那。要获得唯一性的约束啊,我们用这种unique模型就可以了啊,它本质上也是一个聚合模型,只不过是什么呢?聚合模型的一个特例,也就是说只是为了什么,为了方便使用啊,那我们先看一下它的一个用法啊,这是我们准备好的建表语句,那前面这几个其实大家看一下都普通的字段,对不对?对吧。都是普通的字段,那接下来呢,我们看。Unique t啊,就是你想要去重的字段是这两个,根据用户ID还有用户名来进行一个驱虫。来,我们来试一下吧,来我建表,好,这张表user表我们建好了,对吧,接下来就是插入数据,插入数据同样的我们按一批次插入吧,一批次插入就好了。
01:19
来插入数据,插入两条看效果啊,那这两条呢,大家可以看到。一条这个用户ID都是1万啊,那姓名呢,一个是吴彦祖,一个是张三,那后面的北京北京那这个年龄18年龄20,性别呢零零对吧,然后呢,电话号码都是12345678910啊地区。地址都是北,一个是北京朝阳区,一个北京海淀区,然后时间也不一样,好现在看看它的一个效果。
02:03
是不是两条数据都存在啊?对吧,那这个时候你看。我们是不是根据什么,根据UID跟name去做了一个。去重对吧,因为这两条并没有重复啊,那我们这个时候再插入一条重复的呗。比如说我再插入1万吴彦祖啊,然后年龄我改一下。年龄,比如说我改成19啊火车。那我们再查一下。你看。实现了一个什么样的效果呀。是不是这两个K是保持唯一呀?保持唯一的意思,这就是这个unique的T啊一样,然后其他的字段取什么,其实相当于replace取最新了,所以大家看一看这个年龄是不是变了,变成19啊。
03:07
对吧,也就是说这个T不变,其他的取最新,那这种方式不就跟我们前面讲的replace一样吗。对吧,当然你可以用replace来实现。啊,就聚合模型的replace来实现,但是我们说这unique这种写法只是为了方便我们去使用啊,方便我们去使用。好,这个大家了解一下啊,这就是一个唯一模型啊,再说一遍啊,就是对于我们指定的key,根据key。K相同的其他字段取最新取replace啊对,那我们再尝试着一下对not怎么处理,对吧?啊,大家可能比较好奇,来,我们把这个年龄同样的我再改成一个闹。还是这条数据,其他一模一样啊回车。
04:00
好,我们查一下这个age是不是又变成闹啊,所以这个不是if not now啊,如果你想做一个这种唯一模型,唯一约束,并且呢,其他,呃,这个其他字段的替换和更新啊,你想不希望出现not值,那么你还是得老老实实写那个aggregate key这种写法,好吧,这个给大家说明一下。
我来说两句