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

पहले दो कॉलम में संख्याओं के समान संयोजन वाली पंक्तियों का पता लगाना और तीसरे कॉलम में सबसे अधिक संख्या वाली पंक्तियों का चयन करना

<मजबूत>विचार इस के समान है . आप pmin . का उपयोग करके दो अतिरिक्त कॉलम बना सकते हैं एक pmax इस प्रकार समूह के लिए:

एक data.table समाधान। लेकिन अगर आप data.table नहीं चाहते हैं, तब भी आप इस विचार का उपयोग कर सकते हैं। हालांकि, यह बहुत ही असंभव है कि आप केवल R कोड के साथ data.table समाधान की तुलना में तेज़ी से प्राप्त करें।

# assuming your data.frame is DF
require(data.table)
DT <- data.table(DF)
# get min of V1,V2 on one column and max on other (for grouping)
DT[, `:=`(id1=pmin(V1, V2), id2=pmax(V1, V2))]
# get max of V3
DT.OUT <- DT[, .SD[which.max(V3), ], by=list(id1, id2)]
# remove the id1 and id2 columns
DT.OUT[, c("id1", "id2") := NULL]

#     V1  V2     V3
# 1:   2   1    666
# 2: 100 102  23131
# 3:  10  19 124444
# 4:  10  15   1244
# 5: 100 110     23


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. रेल 4 माइग्रेशन में कस्टम प्राथमिक कुंजी सेट करने में समस्याएं

  2. sqlalchemy postgresql जहां int =string

  3. एक अल्पविराम से अलग सूची के रूप में परिणाम वापस करने के लिए PostgreSQL क्वेरी

  4. Postgresql रिमोट एक्सेस होस्ट के लिए कोई pg_hba.conf प्रविष्टि नहीं है

  5. सर्वर टाइमज़ोन ऑफ़सेट मान