MySQL:
SELECT ROUND(
100.0 * (
SUM(IF(cust_id = 541, 1, 0)) / COUNT(order_id)
), 1) AS percent_total
FROM orders;
संपादित करें
मुझे लगता है कि अगर मैंने पोस्टग्रेज . पर ध्यान दिया होता तो यह मदद करता उपनाम। मुझे लगा कि यह एक MySQL प्रश्न था।
पोस्टग्रेएसक्यूएल:
SELECT ROUND(
100.0 * (
SUM(CASE WHEN cust_id = 541 THEN 1 ELSE 0 END)::numeric / COUNT(order_id)
), 1) AS percent_total
FROM orders;
पी.एस. मेरा PostgreSQL जंग लगा हुआ है, इसलिए यदि MySQL क्वेरी PostgreSQL पर काम करती है तो मैं जानना चाहूंगा :)
2 संपादित करें
मैं नीचे दिए गए काउंट (*) सुझाव से सावधान रहने के लिए पर्याप्त जोर नहीं दे सकता। आप आमतौर पर PostgreSQL के साथ इससे बचना चाहते हैं।