2011-07-07 11 views
11

मैं जानना चाहता हूं कि एक SQL क्वेरी में हजार विभाजक पाने का कोई तरीका है या नहीं? डीMYSQL - हजारों विभाजक

अनुरोध इस तरह दिखता है:

के रूप में मैं थोड़ा आलसी हूँ, मैं एक अनुरोध जो मुझे इस विभाजक जोड़ने के बिना कॉपी/मेरे मालिक के लिए परिणाम चिपकाने के लिए अनुमति दे सकते हैं का निर्माण करना चाहते

SELECT COALESCE(Customer, 'TOTAL') AS "Customer", CONCAT(COUNT(SegmentId) , ' bookings') AS "Nb bookings", CONCAT(REPLACE(SUM(Price) , '.', ',') , ' €') AS "Total (€)", CONCAT(ROUND((
SUM(Price)/(
SELECT SUM(Price) 
FROM my_db 
WHERE CreationDate = CURRENT_DATE() 
AND SegmentStatus = "OK") *100) , 2) , ' %' 
) AS "PDM" 
FROM my_db 
WHERE CreationDate = CURRENT_DATE() 
AND SegmentStatus = "OK" 
GROUP BY Customer 
WITH ROLLUP 

वर्तमान में, परिणाम (';' के साथ तालिका विभाजक, खेद है कि मैं इस संपादक :(के साथ एक मेज बनाने के लिए प्रबंधन नहीं किया है):

Customer;Nb bookings;Total (€);PDM 

cust_1;20 bookings;20000 €;10,01 % 

cust_2;254 bookings;17852,12 €;8,12 % 

क्या मैं चाहता हूँ कि तरह एक परिणाम है:

Customer;Nb bookings;Total (€);PDM 

cust_1;20 bookings;20 000 €;10,01 % 

cust_2;254 bookings;17 852,12 €;8,12 % 

क्या ऐसा करने का कोई तरीका है?

धन्यवाद,

बी

उत्तर

19

मैं कैसे एक अंतरिक्ष के साथ यह करने के लिए पता नहीं है, लेकिन मानक जुदाई FORMAT() के साथ प्राप्त किया जा सकता है (एक बिंदु या अल्पविराम [जर्मनी अर्थात] के साथ)।

धन्यवाद Format Function

mysql> SELECT FORMAT(12332.123456, 4); 
    -> '12,332.1235' 
mysql> SELECT FORMAT(12332.1,4); 
    -> '12,332.1000' 
mysql> SELECT FORMAT(12332.2,0); 
    -> '12,332' 
mysql> SELECT FORMAT(12332.2,2,'de_DE'); 
    -> '12.332,20' 
mysql> SELECT FORMAT(12332.2,2,'pt_BR'); 
    -> '12332,20' 
+3

पर एक नज़र डालें, मैं क्या मैं एक REPLACE का उपयोग कर उस के साथ चाहते थे करने में कामयाब (..., '', '')। धन्यवाद ! –

संबंधित मुद्दे