Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách tìm những người thua nhiều nhất trong 1 ngày, 1 tháng dựa trên dữ liệu Lịch sử

Bạn có thể làm điều gì đó như thế này *:

select * from (select symbol_name , (prevclose_val-close_val) as losers,'daily' as `type` from historical_data where current_day >= '2015-12-14' order by losers asc limit 10 ) as sub_daily
union
select * from (select symbol_name , (prevclose_val-close_val) as losers,'weekly' as `type` from historical_data where current_day >= '2015-12-7' order by losers asc limit 10 ) as sub_weekly
union
select * from (select symbol_name , (prevclose_val-close_val) as losers,'monthly' as `type` from historical_data where current_day >= '2015-11-14' order by losers asc limit 10 ) as sub_monthly;

Nhân tiện, bạn thực sự nên thay đổi trường ngày của mình từ "varchar" thành "DATE" hoặc "DATETIME" và sử dụng yyyy-mm-dd định dạng cho ngày của bạn. Bằng cách đó, bạn có thể sử dụng MySQL để thực hiện các phép tính vào ngày của mình.

* truy vấn này yêu cầu current_day của bạn trường là một date hoặc datetime loại.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng trình kích hoạt để dừng chèn hoặc cập nhật

  2. Kết nối MySQL với ứng dụng Spring

  3. Simple Insert hoạt động với phpmyadmin nhưng không hoạt động với php

  4. Khôi phục cấu trúc bảng từ các tệp frm và ibd

  5. Phiên bản so với số lượng phân phối của MySQL