select code,report_date,revenue from growth
where report_date = '2017' and grow >0.1
;
可以获得2017年,该年增长率大于10%的公司名称。
select code,report_date,revenue from growth
where report_date = '2018' and grow >0.1
;
可以获得2018年,该年增长率大于10%的公司名称。
select code,report_date,revenue from growth
where report_date = '2019' and grow >0.1
;
可以获得2019年,该年增长率大于10%的公司名称。
需要获得连续这三年,每年增长率都大于10%的公司名称。
为何不可以写
select code,report_date,revenue from growth
where (report_date = '2017' and grow >0.1 )
and (report_date = '2018' and grow >0.1 )
and (report_date = '2019' and grow >0.1 )
;
其实你的 where 语句是 report_date = '2017' and report_date = '2018' and report_date = '2019' and grow >0.1 。
这当然不会查询出结果。
想到查出连续三年,应该使用主键去关联同一张表三次, reportdate 作为查询条件分别查询报告日期。
比如 id 是这张表的主键,你可以这么写:
大概是这样子
以上。