मेरे पास बीक्यू टेबल है जिसमें रेंज कॉलम है। मान (0-50, 100-150, 200-250,1000-1200, >=400) जैसे हैं।

जब मैं इस कॉलम पर ऑर्डर कर रहा हूं तो मुझे इसे (0-50,100-150,1000-1200,200-250,>=400) जैसा लेक्सिकोग्राफिक ऑर्डर मिल रहा है

लेकिन मैं चाहता हूं कि यह क्रमवार हो जैसे (0-50,100-150, 200-250, >=400, 1000-1200). क्या कोई मेरी मदद कर सकता है कि इसके लिए क्वेरी कैसे बनाएं।

2
Abhishek Singh 10 अक्टूबर 2020, 00:07

1 उत्तर

सबसे बढ़िया उत्तर

आप नीचे दिए गए उदाहरण के अनुसार दृष्टिकोण का उपयोग कर सकते हैं:

#standardSQL
with data as (
  select '0-50' range_col union all
  select '100-150' union all
  select '200-250' union all
  select '1000-1200' union all
  select '>=400' 
)
select *
from data
order by cast(regexp_extract(range_col, r'\b(\d+)\b') as int64)

आउटपुट के साथ

enter image description here

2
Mikhail Berlyant 10 अक्टूबर 2020, 00:20