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

मैं क्वेरी परिणाम को अलग-अलग कॉलम में कैसे तोड़ सकता हूं?

यहां एक बहु-आयामी सरणियों का उपयोग करके संभवतः कुछ हद तक बेहतर दृष्टिकोण दिया गया है

कृपया कभी भी, कभी भी, कभी भी निम्नलिखित क्वेरी का उपयोग न करें:

CREATE EXTENSION tablefunc;

SELECT * FROM crosstab(
  'SELECT ''row1''::text, width_bucket(x, 1, 53001, 100), array_agg(x order by x)::integer[] from generate_series(1,53000) x GROUP BY 2'
) ct(
 rowname text,
    col1 integer[], col2 integer[], col3 integer[], col4 integer[], col5
    integer[], col6 integer[], col7 integer[], col8 integer[], col9 integer[],
    col10 integer[], col11 integer[], col12 integer[], col13 integer[], col14
    integer[], col15 integer[], col16 integer[], col17 integer[], col18 integer[],
    col19 integer[], col20 integer[], col21 integer[], col22 integer[], col23
    integer[], col24 integer[], col25 integer[], col26 integer[], col27 integer[],
    col28 integer[], col29 integer[], col30 integer[], col31 integer[], col32
    integer[], col33 integer[], col34 integer[], col35 integer[], col36 integer[],
    col37 integer[], col38 integer[], col39 integer[], col40 integer[], col41
    integer[], col42 integer[], col43 integer[], col44 integer[], col45 integer[],
    col46 integer[], col47 integer[], col48 integer[], col49 integer[], col50
    integer[], col51 integer[], col52 integer[], col53 integer[], col54 integer[],
    col55 integer[], col56 integer[], col57 integer[], col58 integer[], col59
    integer[], col60 integer[], col61 integer[], col62 integer[], col63 integer[],
    col64 integer[], col65 integer[], col66 integer[], col67 integer[], col68
    integer[], col69 integer[], col70 integer[], col71 integer[], col72 integer[],
    col73 integer[], col74 integer[], col75 integer[], col76 integer[], col77
    integer[], col78 integer[], col79 integer[], col80 integer[], col81 integer[],
    col82 integer[], col83 integer[], col84 integer[], col85 integer[], col86
    integer[], col87 integer[], col88 integer[], col89 integer[], col90 integer[],
    col91 integer[], col92 integer[], col93 integer[], col94 integer[], col95
    integer[], col96 integer[], col97 integer[], col98 integer[], col99 integer[],
    col100 integer[]
);

इस समस्या को हल करने का सही तरीका लगभग निश्चित रूप से आपके आवेदन में है . एसक्यूएल कई चीजों में अच्छा है। यह उनमें से एक नहीं है, विशेष रूप से PostgreSQL में इसके बहुत सीमित धुरी समर्थन के साथ। किसी भी डेटाबेस में ऐसा करना एक पागलपन भरा काम होगा।

जहां तक ​​मेरा सवाल है, अगर मुझे केवल कॉलम-लिस्ट जेनरेट करने के लिए एक क्वेरी का उपयोग करना है, तो यह एक संकेत है कि सिस्टम को कुछ ऐसा करने के लिए मजबूर किया जा रहा है जो इसके लिए उपयुक्त नहीं है:

select string_agg('col'||n||' integer[]',', ') FROM generate_series(1,100) n;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. वस्तुओं के jsonb सरणी में कुंजी मान अपडेट करें

  2. तारीख से मिलीसेकंड / मिलीसेकंड से आज तक

  3. रेल:सरणी की सरणी में तत्व खोजने के लिए दायरे का उपयोग कैसे करें

  4. एसक्यूएल:चयन करने के लिए वृद्धिशील आईडी के साथ कॉलम जोड़ें

  5. मैक ओएस एक्स पर पोस्टग्रेज को पुनरारंभ नहीं कर सकता