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

अद्यतन विवरण में विंडो फ़ंक्शन का उपयोग करना

त्रुटि पोस्टग्रेज से है न कि django से। आप इसे इस प्रकार फिर से लिख सकते हैं:

WITH v_table_name AS
(
    SELECT row_number() over (partition by col2 order by col3) AS rn, primary_key
    FROM table_name
) 
UPDATE table_name set table_name.col1 = v_table_name.rn
FROM v_table_name
WHERE table_name.primary_key = v_table_name.primary_key;  

या वैकल्पिक रूप से:

UPDATE table_name set table_name.col1 = v_table_name.rn
FROM  
(
    SELECT row_number() over (partition by col2 order by col3) AS rn, primary_key
    FROM table_name
) AS v_table_name
WHERE table_name.primary_key = v_table_name.primary_key;

यह काम। पोस्टग्रेज-9.6 पर बस इसका परीक्षण किया। यहाँ अद्यतन के लिए वाक्य रचना है (वैकल्पिक सूची से देखें) )

आशा है कि यह मदद करता है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं एक पोस्टग्रेज तालिका में एक साथ कई मान कैसे सम्मिलित करूं?

  2. इसका क्या मतलब है जब एक PostgreSQL प्रक्रिया लेनदेन में निष्क्रिय है?

  3. Google Datastudio के साथ Heroku Postgresql

  4. पोस्टग्रेएसक्यूएल में लेटरल जॉइन और सबक्वेरी में क्या अंतर है?

  5. PostgreSQL का उपयोग करके मूडल के लिए अत्यधिक उपलब्ध डेटाबेस बनाना