首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    面试突击63:MySQL 中如何

    MySQL 中,最常见的方法有两个:使用 distinct 或使用 group by,那它们有什么区别呢?接下来我们一起来看。...3.2 多列 根据 aid(文章 ID)和 uid(用户 ID)联合,具体实现如下: 3.3 聚合函数 + group by 统计每个 aid 的总数量,SQL 实现如下: 从上述结果可以看出...,使用 group by 和 distinct 加 count 的查询语义是完全不同的,distinct + count 统计的是之后的总数量,而 group by + count 统计的是分组之后的每组数据的总数...by 排序可以查询一个或多个字段,如下图所示: 区别2:使用业务场景不同 统计之后的总数量需要使用 distinct,而统计分组明细,或在分组明细的基础上添加查询条件时,就得使用 group...使用 distinct 统计某列之后的总数量统计分组之后数量大于 2 的文章,就要使用 group by 了,如下图所示: 区别3:性能不同 如果的字段有索引,那么 group

    3.2K20

    Java中对List, Stream

    问题 当下互联网技术成熟,越来越多的趋向中心化、分布式、流计算,使得很多以前在数据库侧做的事情放到了Java端。今天有人问道,如果数据库字段没有索引,那么应该如何根据该字段?...你需要知道HashSet如何帮我做到了。换个思路,不用HashSet可以吗?最简单,最直接的办法不就是每次都拿着和历史数据比较,都不相同则插入队尾。而HashSet只是加速了这个过程而已。...,那么是如何的呢?...在本题目中,要根据id,那么,我们的比较依据就是id了。...回到最初的问题,之所以提这个问题是因为想要将数据库侧拿到Java端,那么数据量可能比较大,比如10w条。

    8.8K70

    MySQL操作优化到极致

    要把后的50万数据写入到目标表。 重复created_time和item_name的多条数据,可以保留任意一条,不做规则限制。...无需distinct二次查。 变量判断与赋值只出现在where子句中。 利用索引消除了filesort。 在MySQL 8之前,该语句是单线程的最佳解决方案。...二、利用窗口函数 MySQL 8中新增的窗口函数使得原来麻烦的操作变得很简单。...从执行计划看,窗口函数去语句似乎没有消除嵌套查询的变量好,但此方法实际执行是最快的。...三、多线程并行执行 前面已经将单条查语句调整到最优,但还是以单线程方式执行。能否利用多处理器,让操作多线程并行执行,从而进一步提高速度呢?

    7.7K30

    Flink第三弹:HyperLogLog

    HyperLogLog算法 也就是基数估计统计算法,预估一个集合中不同数据的个数,也就是我们常说的统计,在redis中也存在hyperloglog 类型的结构,能够使用12k的内存,允许误差在0.81%...的情况下统计2^64个数据,在这种大数据量情况下能够减少存储空间的消耗,但是前提是允许存在一定的误差。...www.jianshu.com/p/55defda6dcd2里面做了详细的介绍,其算法实现在开源java流式计算库stream-lib提供了其具体实现代码,由于代码比较长就不贴出来(可以后台回复hll ,获取flink使用hll的完整代码...getValue(HyperLogLog accumulator) { return accumulator.cardinality(); } } 定义的返回类型是long 也就是的结果

    2.1K20

    postgresal_postgresql数据库方法

    数据库有很多方法,下面列出目前理解与使用的方法 第一种 通过group by分组,然后将分组后的数据写入临时表然后再写入另外的表,对于没有出现再group by后面的field可以用函数max,min...提取,效率较高 –适合情况:这种情况适合重复率非常高的情况,一般来说重复率超过5成则可以考虑用这个方法 –优点:对于重复率高的数据集的,十分推荐用这种方法 –缺点:uuid不能用max或min提取,...如果需要去的数据集中包含uuid则十分尴尬 create temp table tmp_data1 as select [field1],[field2]…,max(field_special),min...table1 group by [field1],[field2]…); 第四种 通过group by加having加in,即先用group by分组,然后用having count(*)>1取出分组数量大于

    2.1K30
    领券