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

समान आकार वाले समूह कैसे बनाएं

आप ntile . का उपयोग कर सकते हैं :

SELECT car_id, "date",
        ntile(CASE WHEN c <= 5 THEN 1
                   WHEN c <= 10 THEN 2
                   ELSE 3
              END)  OVER (PARTITION BY car_id ORDER BY "date") AS group_id
FROM (SELECT car_id, "date",COUNT(*) OVER(PARTITION BY car_id) AS c
      FROM Table1) AS s

SqlFiddleDemo

आउटपुट:

╔════════╦══════════╦══════════╗
║ car_id ║   date   ║ group_id ║
╠════════╬══════════╬══════════╣
║      1 ║ 20160101 ║        1 ║
║      1 ║ 20160103 ║        1 ║
║      1 ║ 20160105 ║        1 ║
║      1 ║ 20160106 ║        1 ║
║      1 ║ 20160107 ║        2 ║
║      1 ║ 20160108 ║        2 ║
║      1 ║ 20160109 ║        2 ║
║      1 ║ 20160110 ║        2 ║
║      2 ║ 20160102 ║        1 ║
║      2 ║ 20160104 ║        1 ║
╚════════╩══════════╩══════════╝


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. स्प्रिंग रिपोजिटरी @Query एनोटेशन में पैरामीटर के रूप में ऐरे ऑब्जेक्ट का उपयोग करना संभव है?

  2. सिद्धांत क्वेरी json को पोस्टग्रेज करती है (इसमें शामिल है) json_array

  3. क्या PostgreSQL इंडेक्स सरणी कॉलम कर सकता है?

  4. PostgreSQL बाधा समस्या

  5. योग और उत्पन्न श्रृंखला postgresql में काम नहीं करती है