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

sql chọn top 5 hàng tháng

Hãy thử truy vấn này

select * from
(select 
@rn:=if(@prv=product_id, @rn+1, 1) as rId,
@prv:=product_id as product_id,
year, 
month,
revenue
from tbl
join
(select @prv:=0, @rn:=0)tmp
order by 
product_id, revenue desc) a
where rid<=5

SQL FIDDLE :

| RID | PRODUCT_ID | YEAR | MONTH | REVENUE |
---------------------------------------------
|   1 |          1 | 2013 |     1 |     100 |
|   2 |          1 | 2013 |     1 |      90 |
|   3 |          1 | 2013 |     1 |      70 |
|   4 |          1 | 2013 |     1 |      60 |
|   5 |          1 | 2013 |     1 |      50 |
|   1 |          2 | 2013 |     1 |    5550 |
|   2 |          2 | 2013 |     1 |     550 |
|   3 |          2 | 2013 |     1 |     520 |
|   4 |          2 | 2013 |     1 |     510 |
|   5 |          2 | 2013 |     1 |     150 |


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tổng của cột khi sử dụng mysqli và php

  2. Truy vấn tính tổng khoảng cách (kinh độ, vĩ độ) trong các hàng liên tiếp trong Mysql

  3. Điều gì sẽ xảy ra nếu tôi giết một truy vấn MySQL InnoDb DELETE rất lớn?

  4. thời gian lọc

  5. Làm thế nào để khắc phục biểu tượng bên ngoài không được giải quyết do MySql Connector C ++?