2017-01-04 6 views
6

मुझे छोटी MySQL सहायता चाहिए। मुझे लगता है कि जैसे प्रति घंटा मूल्यों के साथ एक मेज है:MySQL योग प्रत्येक एक्स पंक्तियों

ID | VALUE | HOUR 
1 | 1.0 | 01.00 
2 | 1.0 | 02.00 
... 
24 | 1.0 | 24.00 

अब मैं ने पाया है कि कभी कभी डेटा जो मैं मिल प्रति घंटा आधार पर नहीं है बल्कि यह हर 30 मिनट के लिए या कभी कभी हर 15 मिनट के लिए है। तो डेटा इस तरह दिख सकता:

ID | VALUE | HOUR 
1 | 1.0 | 01.00 
2 | 1.0 | 01.30 
... 
48 | 1.0 | 24.00 

मैं प्रति घंटा स्वरूप में डेटा प्रदर्शित करने की जरूरत है, तो मैं उत्सुक हूँ अगर वहाँ MySQL बताने के लिए योग करने के लिए कोई मौका है प्रत्येक दो या प्रत्येक चार (30 मिनट प्रारूप के लिए) (15 मिनट प्रारूप) परिणाम की पंक्तियां?

+0

तुम क्या करने की कोशिश की थी? – denny

+0

घंटे का हिस्सा। क्या वह एक स्ट्रिंग है ... संख्यात्मक ..? – Danieboy

उत्तर

5

हाँ, आप उपयोग कर सकते हैं FLOOR (नीचे पूर्णांक बनाता है) या CEIL (अप पूर्णांक बनाता है), तो आप क्या पसंद करते हैं निर्भर करता है:

SELECT FLOOR(t.hour) as rounded_hour, 
     SUM(t.value) as your_sum 
FROM YourTable t 
GROUP BY FLOOR(t.hour) 

E.G.

1.0 
1.2 
1.75 
1.9 

सभी 1 में बदल जाएंगे।

0

इस क्वेरी आप मदद कर सकते हैं:

Select ID,sum(Value),sum(Hour),substr(hour,1,2)as h group by h; 
संबंधित मुद्दे