Advertisement
Guest User

Untitled

a guest
Jan 20th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. DROP TABLE finalresult;
  2.  
  3. CREATE TABLE maxvalues AS
  4. select s.symbol as symbol ,s.close as close,year(s.dt) as dt from stocks s
  5. join (SELECT s.symbol, max(s.dt) as max FROM stocks s
  6. where s.symbol = "AA"
  7. group by s.symbol,year(s.dt)) datemax
  8. on (s.dt = datemax.max and s.symbol = datemax.symbol);
  9.  
  10. -- min Werte in Tabelle schreiben
  11.  
  12. CREATE TABLE minvalues AS
  13.  
  14. select s.symbol as symbol ,s.close as close,year(s.dt) as dt from stocks s
  15.  
  16. join (SELECT s.symbol,min(s.dt) as min FROM stocks s
  17. where s.symbol = "AA"
  18. group by s.symbol,year(s.dt)) datemin
  19. on (s.dt = datemin.min
  20. and s.symbol = datemin.symbol);
  21.  
  22. -- min und max mergen
  23.  
  24. CREATE TABLE mergedminmax AS
  25. SELECT min.symbol, min.dt, min.close as min, max.close as max, ROUND((max.close/(min.close/100)-100),2) AS change
  26. FROM minvalues min
  27. JOIN maxvalues max
  28. ON min.dt = max.dt;
  29.  
  30. CREATE TABLE finalresult AS
  31. SELECT s.exc, s.symbol, min(s.close) as min, max(s.close) as max, m.change, year(s.dt)
  32. FROM stocks s
  33. JOIN mergedminmax m
  34. ON s.symbol = m.symbol AND year(s.dt) = m.dt
  35. GROUP BY s.exc, s.symbol, YEAR(s.dt),m.change;
  36.  
  37. -- hilfstabellen bereinigen
  38.  
  39. DROP TABLE maxvalues;
  40. DROP TABLE minvalues;
  41. DROP TABLE mergedminmax;
  42.  
  43. SELECT * FROM finalresult;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement