I have a table whose DDL is:
CREATE TABLE `Historical_Intraday_Prices` (
`EquityId` int(11) NOT NULL,
`SnapshotDateTime` timestamp NOT NULL,
`Open` double NOT NULL,
`Low` double NOT NULL,
`High` double NOT NULL,
`Close` double NOT NULL,
`Volume` double NOT NULL,
`SnapshotDate` date NOT NULL,
`SnapshotTime` time NOT NULL,
`UpdateToDBTime` timestamp NOT NULL,
`DataSourceName` varchar(50) NOT NULL,
PRIMARY KEY (`EquityId`,`SnapshotDate`,`SnapshotTime`),
KEY `IDX_SNAPSHOTDATE` (`SnapshotDate`),
KEY `IDX_SNAPSHOTDATETIME` (`SnapshotDateTime`),
CONSTRAINT `FKEquityId` FOREIGN KEY (`EquityId`) REFERENCES `EquityMaster` (`EquityId`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1
The snapshotdatetime is a one minute interval. So for a particular EquityId and a particular SnapshotDate, we have per minute data for that day and equity. If the entire market duration is 375 minutes for a particular day, then this table contains 375 records. This means the table stores 1 minute timeframe data for an equity.
The attached file will contain n example. This output is a result of running the below query
SELECT H.* FROM Historical_Intraday_Prices H, EquityMaster E
WHERE E.`EquityId`=H.`EquityId`
AND E.`CompanySymbol`="SBIN"
AND H.`SnapshotDate`='2016-09-01'
I need to create a view so that the output will be a 3 minute timeframe data
Something like running this query:
SELECT H.* FROM Historical_Intraday_Prices_3Timeframe H, EquityMaster E
WHERE E.`EquityId`=H.`EquityId`
AND E.`CompanySymbol`="SBIN"
AND H.`SnapshotDate`='2016-09-01'
This will aggregate the Historical_Intraday_Prices by combining every 3 minute data and then reporting out the same set of columns.
So if the 1 minute timeframe table has 375 rows for a particular equity and particular equity, the output from the view should return 375/3 =125 rows
Calculation:
SnapshotTime should be 9:15, 9:18, 9:21, etc
The open should be the open price at the start of the 3 minute interval
The close should be the close price at the end of the 3 minute interval
The high price should be the high price for the 3 minute duration
The low price should be the low price for the 3 minute duration
Th volume should be the volume sum of all the 3 minutes
The variable inside the view creation script having this timeframe minute which in our case is 3, should be stored as a main variable at the top of the script so that I can change it to 5 minutes if required and then entire process will work for 5 minute timeframe.
Hello, I can do the task in less time, and 100% accurate
- I'm an experienced software developer specialized in desktop applications, tools, and scripts.
- Very good Experience with database based applications (MS-Access, SQL Server, and MySQL).
Also:
- I write programs using .NET since 2013, and using classic VB6 since 2007.
- Have long experience with web scraping applications, socket communications, FTP connections, mathematics & formulas, applications that manipulate files & folders, and creating mini-tools that automate tasks while working in background.
- Very good experience with multi-threaded applications.
- Accuracy and precision is one of my principles, also one of my best advantages.
- Commitment to deliver tasks in time.
I I'm looking forward to working with you, helping you to solve problems :)
Please feel free to contact me to discuss any further details.
Hello,
After i read your job description, i'm very suitable and interested for it, I'm Web developer / Designer for more than 5 years, i'm just new here in freelancer but i can assure you the best speed and quality of the development, Please contact me i know what to do with the code.
Thanks,
Regards
Ricson
Philippines
I have understood your requirement completely, Basically you need an aggregate table/view on top of your existing table. This can be easily achieved using any ETL tools. I'm an Oracle professional having 5 years of experience in various databases like Oracle, MySQL, Postgres, DB2, MS SQL Server etc. I addition to these I an ETL expert also. I believe my skills match your requirement and make me suitable candidate for your project.