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

ग्राहक और महीने द्वारा नवीनतम मूल्य के साथ पंक्ति

SELECT YEAR
      ,MONTH
      ,customer_id
      ,max(ACCOUNT_TYPE) keep(dense_rank FIRST ORDER BY date_changed DESC) LAST_ACC
 FROM (
  SELECT EXTRACT(YEAR FROM DATE_CHANGED) AS YEAR,
         EXTRACT(MONTH FROM DATE_CHANGED) AS MONTH,
         CUSTOMER_ID,
         date_changed,
         account_type
   FROM HISTORY
  )
GROUP BY YEAR, MONTH, customer_id
ORDER BY YEAR, MONTH, CUSTOMER_ID


| YEAR | MONTH | CUSTOMER_ID | LAST_ACC |
-----------------------------------------
| 2013 |     1 |         200 |  Premium |
| 2013 |     2 |         300 |     Free |
| 2013 |     3 |         100 |  Premium |
| 2013 |     3 |         200 | Standard |

http://sqlfiddle.com/#!4/e493a/15



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle में DBMS_OUTPUT पैकेज के बारे में जानें

  2. माइनस का उपयोग करने के बजाय ओरेकल में दो कर्सर की तुलना करना

  3. क्या Oracle शॉर्ट-सर्किट मूल्यांकन का उपयोग करता है?

  4. Oracle में बाइट्स की एक सरणी कैसे स्टोर करें?

  5. Oracle विशेष वर्ण