SQL练习四(错位比较)
Postgresql数据库
现有一张表 TABLE5 如图
编写 SQL 查询,来查找与之前(昨天的)日期相比temp数值更高的所有日期的 Id。
源码
CREATE TABLE TABLE5 (
ID INT,
BJDATE DATE,
SHUZHI INT) ;
INSERT INTO TABLE5 VALUES (1,'2021-03-15',12);
INSERT INTO TABLE5 VALUES (2,'2021-03-16',20);
INSERT INTO TABLE5 VALUES (3,'2021-03-17',15);
INSERT INTO TABLE5 VALUES (4,'2021-03-18',21);
SELECT * FROM TABLE5;
方法1
SELECT ID FROM TABLE5 A WHERE A.SHUZHI>(SELECT SHUZHI FROM TABLE5 B WHERE A.ID=B.ID+1)
方法2
SELECT A.ID FROM TABLE5 A JOIN TABLE5 B ON A.BJDATE-B.BJDATE=1 AND A.SHUZHI>B.SHUZHI
结果如图
总结:欢迎有其他方法的小伙伴来讨论!