3.sql技巧

1.占位符

半角符“_”代表占位符,表示需要多少个位置


image.png

2.分组获取最优

这里有一张这样的数据表,需求是根据error_type分组然后取status最小的第一条数据,如图:

image

select t.* from (
    select e.* from error_record e where e.status > 0 and e.error_type > 0 order by e.status limit 1000
) t group by t.error_type

查询结果

image

这种写法可以实现我们的需求, 在临时表内部排序时用limit字段固定排序, 然后在临时表外分组就可以改变group by默认排序的问题(注: 原表中error_typ为3的数据只有一条就是status: 2)。

你可能感兴趣的:(3.sql技巧)