一次诡异的 SQL 数量统计查询不准的问题

一个统计数量(有连表)的 SQL,加上条件若干假设结果为 N1,然后再加条件详细统计细分数量,诡异的来了,假设加的条件分别是 T1.F1 = T2.F2 和 T1.F1 != T2.F2,这两个细分 SQL 的结果 N2 和 N3 加起来竟然不等于 N1,那么漏掉的这部分数据是啥,想不通。
(1)问了同事yz,他提了一个可能,F1 和 F2 在 where 语句中使用了之后(非 is null 语句),结果就肯定不会包含 F1 为 null 或 F2 为 null 的值
(2)对此我只能说——所有的诡异都是无知的反应。

2020/08/13 posted in  折腾

帖子列表时如何查询包含我的帖子

场景

用户发帖之后,需要审核通过之后才能被别人看到,同时审核中的帖子自己也能够看到,通过一个列表接口如何实现?

分析

这个列表接口数据应包含:所有审核通过的帖子 + 自己的审核中的帖子

现有一个帖子表 post 定义如下:

Read more   2020/07/02 posted in  折腾

日常问题之收集:SQL篇(持续更新)

- [按照日期汇总(2020-06-30)](#按照日期汇总(2020-06-30))
- [group by order by 同时使用(2020-07-06)](#group-by-order-by同时使用(-2020-07-06))
- [mysql replace 语法(2020-06-17)](#mysql-replace语法(-2020-06-17))
- [max() 对 date 类型是否可以?(2020-07-03)](#max对-date类型是否可以?(-2020-07-03))
- [LIMIT 写法(2020-06-06)](#limit写法(-2020-06-06))
- [连表去重计算总数(2020-06-06)](#连表去重计算总数(2020-06-06))
- [重置自增列初始id(2020-06-06)](#重置自增列初始id(2020-06-06))
Read more   2020/01/01 posted in  FAQs

Distinct 与 Group by 的比较

看了很多文章,这两个SQL语句在不同的数据库上面的实现上可能有相同或有不同,但是应当要明确它们在功能概念上的区别,最终得出结论:

GROUP BY 用来使用聚集函数获得值,比如 AVG, MAX, MIN, SUM 和 COUNT,而 DISTINCT 用于去除重复值。

要根据实际的应用场景来使用(即使它们有时候返回的结果是一样的)

2019/04/01 posted in  编程

《SQL必知必会》

很适合入门的一本SQL书,虽相见已晚,但看完了,总要记录点什么。

Read more   2017/08/23 posted in  编程