मैं नीचे दिए गए दो तालिकाओं से Value1/Value2 के अनुपात का चयन करने के लिए SQL क्वेरी की तलाश में हूं ..

तालिका_1:
--------

 id  Type  Count          
            
1.   A.      2            
2.   B.      3             
3.   A.      1
4.   A.      4
5.   B.      2

तालिका 2:

id  Type   Max 
1.   A.     10
2.   B.     10

where Value1 = SELECT  AVG(Count) FROM Table_1 GROUP BY Type

and   Value2 = SELECT Max FROM Table_2.

मैंने क्वेरी के नीचे कोशिश की

WITH table1 (SELECT AVG(Count) as avg_cnt...), 
     table2 (SELECT Max as max_val....)
     SELECT table1.avg_cnt/table2.max_val
     FROM ..

लेकिन यह काम नहीं आया।

-2
Madhu Hegde 17 सितंबर 2020, 11:43

2 जवाब

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

आप बस कुल और गणना कर सकते हैं:

select t2.type, avg(t1.count) / t2.max
from table1 t1 join
     table2 t2
     on t1.type = t2.type
group by t2.type, t2.max;

कोई सबक्वेरी या सीटीई की जरूरत नहीं है।

0
Gordon Linoff 17 सितंबर 2020, 14:44

आप join का उपयोग करके देख सकते हैं

Select cnt/maxval
from
(
select type,avg(count) cnt 
from table1
group by type
)A join table2 on table1.type=table2.type
0
Fahmi 17 सितंबर 2020, 12:04