Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

एसक्यूएल हर महीने शीर्ष 5 का चयन करें

इस क्वेरी को आजमाएं

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. लॉगिन प्रयासों को कैसे कम करें - PHP और MySQL और CodeIgniter

  2. MySQL:एक साधारण टेबल आईडी के लिए अद्यतन कैस्केड पर | माता-पिता | पाठ, संभव नहीं है?

  3. JSON के माध्यम से Android से सर्वर पर डेटा भेजें

  4. क्लस्टर्ड इंडेक्स टेबल क्या है?

  5. खोए/डिस्कनेक्ट किए गए कनेक्शन के साथ लेनदेन पर MySQL रोलबैक