Ⅰ 利用access SQL语句求股票的实际收益
--试试下面的sql语句
selectb.股票名称,sum(b.收益)已收益,sum(b.持有数量)当前持有数量from(select股票名称,(casewhena.投资行为='买'thena.交易数量else(-1)*a.交易数量end)持有数量,(casewhena.投资行为='买'then(-1)*a.交易金额elsea.交易金额end)收益froma)bgroupbyb.股票名称
Ⅱ sql查询,如下
createtableT
(
股票varchar(100),
日期varchar(100),
基金varchar(100),
数量int
)
insertintotvalues('股票1','2015年5月21日','基金1',30000)
insertintotvalues('股票1','2015年3月31日','基金1',33000)
insertintotvalues('股票2','2015年5月21日','基金1',30000)
insertintotvalues('股票2','2015年3月31日','基金1',33000)
insertintotvalues('股票1','2015年5月21日','基金2',30000)
insertintotvalues('股票1','2015年3月31日','基金2',33000)
insertintotvalues('股票2','2015年5月21日','基金2',30000)
insertintotvalues('股票2','2015年3月31日','基金2',33000)
declare@Iint
declare@wVarchar(5000)=''
declare@sqlVarchar(8000)=''
select@I=MAX(A)from(
selectCOUNT(*)AsAfromT
Groupby股票,基金)s
select@w=@w
+',max(casewhenid='+number+'then日期elsenullend)As日期'+number
+',max(casewhenid='+number+'then数量elsenullend)As数量'+number
from(selectconvert(Varchar(10),number)asnumberfrommaster.dbo.spt_valueswheretype='P'
andnumberbetween1and@I)S
Set@sql='select股票,基金'+@w+
'from(
select*,ROW_NUMBER()over(partitionby股票,基金orderby日期)asidfromt
)s
Groupby股票,基金
orderby股票,基金
'
exec(@sql)
Ⅲ 利用java,把SQL SERVER数据库里面的书库绘制成图表的形式,类似于股票那样有XY轴,曲线显示,怎么做啊
有两种实现方式,一种就是JFreeChart的官方实例MemoryUsageDemo.java.通过一个实现java.Swing.Timer的内部类,在其监听器中将实时数据添加进TimeSeries,由于Timer是会实时执行的,所以这个方法倒是没有什么问题,可以参考代码。
另一种方式就是将实时类实现Runnable接口,在其run()方法中,通过无限循环将实时数据添加进TimeSeries,下面是较简单的实现代码:
java 代码
//RealTimeChart .java
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.plot.XYPlot;
import org.jfree.data.time.Millisecond;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
public class RealTimeChart extends ChartPanel implements Runnable
{
private static TimeSeries timeSeries;
private long value=0;
public RealTimeChart(String chartContent,String title,String yaxisName)
{
super(createChart(chartContent,title,yaxisName));
}
private static JFreeChart createChart(String chartContent,String title,String yaxisName){
//创建时序图对象
timeSeries = new TimeSeries(chartContent,Millisecond.class);
TimeSeriesCollection timeseriescollection = new TimeSeriesCollection(timeSeries);
JFreeChart jfreechart = ChartFactory.createTimeSeriesChart(title,"时间(秒)",yaxisName,timeseriescollection,true,true,false);
XYPlot xyplot = jfreechart.getXYPlot();
//纵坐标设定
ValueAxis valueaxis = xyplot.getDomainAxis();
//自动设置数据轴数据范围
valueaxis.setAutoRange(true);
//数据轴固定数据范围 30s
valueaxis.setFixedAutoRange(30000D);
valueaxis = xyplot.getRangeAxis();
//valueaxis.setRange(0.0D,200D);
return jfreechart;
}
public void run()
{
while(true)
{
try
{
timeSeries.add(new Millisecond(), randomNum());
Thread.sleep(300);
}
catch (InterruptedException e) { }
}
}
private long randomNum()
{
System.out.println((Math.random()*20+80));
return (long)(Math.random()*20+80);
}
}
//Test.java
import java.awt.BorderLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
public class Test
{
/**
* @param args
*/
public static void main(String[] args)
{
JFrame frame=new JFrame("Test Chart");
RealTimeChart rtcp=new RealTimeChart("Random Data","随机数","数值");
frame.getContentPane().add(rtcp,new BorderLayout().CENTER);
frame.pack();
frame.setVisible(true);
(new Thread(rtcp)).start();
frame.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent windowevent)
{
System.exit(0);
}
});
}
}
这两中方法都有一个问题,就是每实现一个图就要重新写一次,因为实时数据无法通过参数传进来,在想有没有可能通过setXXX()方式传进实时数据,那样的话就可以将实时曲线绘制类封装起来,而只需传递些参数即可。
Ⅳ mysql怎么做股票数据库
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import tushare as ts
from sqlalchemy import create_engine
code_list = []
#数据库链接参数
host = '10.0.0.5'
port = 3306
user = 'root'
password = 'qweqwe'
database = 'stock'
charset = "utf8"
table = "stock_data"
# create table stock_data(id int auto_increment,code int(6) zerofill,date date not null,open decimal(10,2) not null,high decimal(10,2) not null,close decimal(10,2) not null,low decimal(10,2) not null,volume decimal(10,2),turnover decimal(10,2),primary key (id),index(code),index(date),index(open),index(high),index(close),index(low));
def get_data (code):
df = ts.get_hist_data(code)
data = df.iloc[::-1, [0, 1, 2, 3, 4, 13]]
data["code"] = code
return data
def save_data_to_mysql (data,user = 'root',password = 'qweqwe',database = 'stock',charset = "utf8",table = "stock_data"):
engine = create_engine('mysql://' + user + ':' + password + '@' + host + '/' + database + '?charset=' + charset)
data.to_sql(table, engine, if_exists='append')
return
for code in code_list:
try:
data = get_data(code)
save_data_to_mysql(data)
print str(code) + "导入mysql成功"
except:
print str(code) + "获取数据失败"
Ⅳ 用sql查询股票代码个数
1.sele 股票代码,买入价,现价,持有数量 from 股票数量 into table 股票数量_bk
2.insert into 股票数量_bk values("60034",5.59,5.81,4500")&&&看你数据类型,数值型的不加引号,不然加引号
Ⅵ 用SQL Server Management Stutio附加国泰安股票高频数据。
使用SQL ServerSQL数据库时,通常会使用SQL Server Management Studio来对SQL ServerSQL数据库进行管理,操作起来非常方便;当你一旦表结构建成之后,再去修改表结构的时候会提示:不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的表进行了更改或者启用了“阻止保存要求重新创建表的更改”选项。
Ⅶ sql如何实现找到股票收盘价涨幅前三
sql如何实现找到股票收盘价涨幅前三
visual foxproSQL查询结果输出
1. 从“股票数量.dbf”表中查询“股票代码”、“买入价”、“现价”和“持有数量”,并将查询结果存入表“股票数量_bk.dbf”. (5分)
2. 利用SQL INSERT命令插入记录(“60034”,5.59,5.81,4500)到“股票数量_bk.dbf”。(5分)
3. 利用SQL UPDATE命令将“股票数量_bk.dbf”中“股票代码”为“600012”的股票“现价”改为“21.83”。(5分)
4. 利用SQL DELETE命令删除“股票数量_bk.dbf”中“股票代码”为“600001
的记录。(5分)
5. 将SCORE1表中记录按学号从高到低排序,在“学号”相同的情况下,再按“成绩”从高到低排序,排序结果存入表onetable。(5分)
6. 从SCORE1表中统计选修了课程的学生人数(选修多门时,只计算1次),统计结果保存在一个新表twotable中,表中只有一个字段,字段名为“学生总数”。(5分)
7. 从SCORE1表中查询“学号”、“课程号”和“成绩”(条件是“成绩”大于等于所有人成绩的平均成绩),并将查询结果存入表threetable中。(10分)
8. 利用“学籍”数据库中的表student、course和score,查询“计算机”系所有学生的“考试成绩”,结果中含“学号”、“课程编号”和“成绩”字段,查询结果保存在表fivetable中。(10分)
Ⅷ SQL求助:对股票交易数据进行评价分析
炒股心态尤其重要,
牛市也不能抱着一夜就想暴富的心态,
实现长久的收益才是最靠谱的!
预警系统个人觉得挺实用的,
每天票都能实现平稳的增长,是非常不错的理财致富工具~
全民炒股的新时代,正是需要这样的软件!
祝楼主好运连连,赚钱多多!
Ⅸ 股票市场收益率的数据怎么找啊急
你是指单只股票的收益率,还是指整个市场的收益率,
如果是单只股票的收益率的话,那简单,用通达信,顶栏中“分析”—“区间涨跌幅统计”—在选择"时间",就可以选择这段时间,整体单只股票收益率了,你试试看。