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

DELETE स्टेटमेंट में पंक्तियों के भौतिक स्थान (ROWID) का उपयोग कैसे करें

PostgreSQL पर पंक्ति के भौतिक स्थान को CTID कहा जाता है।

तो अगर आप इसे देखना चाहते हैं तो इस तरह एक QUERY का उपयोग करें:

SELECT CTID FROM table_name

डुप्लीकेट रिकॉर्ड को हटाने के लिए इसे DELETE स्टेटमेंट पर इस्तेमाल करने के लिए इसे इस तरह इस्तेमाल करें:

DELETE FROM table_name WHERE CTID NOT IN (
  SELECT RECID FROM 
    (SELECT MIN(CTID) AS RECID, other_columns 
      FROM table_name GROUP BY other_columns) 
  a);

याद रखें कि table_name वांछित तालिका है और अन्य_स्तंभ वे स्तंभ हैं जिन्हें आप फ़िल्टर करने के लिए उपयोग करना चाहते हैं।

यानी:

DELETE FROM user_department WHERE CTID NOT IN (
  SELECT RECID FROM 
    (SELECT MIN(CTID) AS RECID, ud.user_id, ud.department_id
      FROM user_department ud GROUP BY ud.user_id, ud.department_id) 
  a);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql जहां खंड में एकल उद्धरण से बचता है

  2. पोस्टग्रेज जीआईएसटी बनाम बीट्री इंडेक्स

  3. इसके कारण:java.lang.NoSuchMethodError:org.postgresql.core.BaseConnection.getEncoding()Lorg/postgresql/core/Encoding;

  4. विशेषता संख्या 10 कॉलम की संख्या से अधिक है 0

  5. नया डेटा Postgres पर रेल सरणी स्तंभ के लिए जारी नहीं है