分页
SELECT id FROM tableName LIMIT X,Y
LIMIT X,Y 中X表示跳过X个数据,读取Y个数据
例如:LIMIT 2,1 数据读取从第3条开始,读取1条数据
SELECT id FROM tableName LIMIT Y OFFSET X
OFFSET X是跳过X个数据,LIMIT Y是选取Y个数据
删除重复数据
DELETE FROM tableName t1
WHERE id < (
SELECT MAX(id)
FROM tableName t2
WHERE t1.orgid = t2.orgid AND t1.xxx = t2.xxx
)
内联视图
SELECT *
FROM (
SELECT _name AS name, _age AS age
FROM tableName
) x
// 使用取别名的列
WHERE age < 20
Tip:
FROM子句 先于 WHERE子句 先于 SELECT子句。
别名取在SELECT子句,WHERE子句不能辨识别名,
而如果使用内联视图,别名取在FROM子句中,WHERE子句能够辨识别名。
随机返回n条数据
MySQL:
SELECT * FROM tableName ORDER BY rand() LIMIT 5
PostgreSQL:
SELECT * FROM tableName ORDER BY random() LIMIT 5
将空值转为实际值
1、
使用CASE WHEN ... THEN ...
WHEN ... THEN ...
ELSE ... END
2、
COALESCE(VALUE1, VALUE2, VALUE3...)
返回第一个非空值【推荐】
网友评论