请教一个 SQL 语句的写法。

Wonny 2008-01-05 03:56:34
股票数据表:
编号,名称,昨收,今开,最高,最低,现价,涨幅,日期
如何显示今天和昨天涨幅超过5%的股票?

如:600090,今天的涨幅是 10%,昨天的涨幅是 10%,如果列出这类股票。不使用视图和子查询。谢谢。
...全文
59 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
mschen 2008-01-05
  • 打赏
  • 举报
回复
--不使用子查询,只能使用连接来实现了.

--创建表
create table stock(stock_no varchar(10),deal_date date,change_rate decimal(9,2));

--插入测试数据
insert into stock values('600090','2007-01-01','0.1');
insert into stock values('600090','2007-01-02','0.1');
insert into stock values('600001','2007-01-02','0.01');

--查询语句

select *
from stock a left join stock b
on a.stock_no=b.stock_no and a.deal_date = b.deal_date+1
where a.change_rate>0.05 and b.change_rate>0.05;
tim_spac 2008-01-05
  • 打赏
  • 举报
回复

select a.[编号], a.[名称], [今日涨幅] = a.[涨幅], [昨日涨幅] = b.[涨幅]
from [股票数据表] a,[股票数据表] b
where a.[编号]=b.[编号] and a.[日期]=b.[日期]+1
a.[日期] = @today and [涨幅] >= 10%

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧