السلام عليكم ورحمة الله وبركاته
لدى قاعدة بيانات ماى سيكول لتخزين الفواتير بها جدول اسمه orders
لتخزين order number,order date,order price
التاريخ اقوم بتخزين ك text
لانى اخزنه على شكل فورمات معين والتاريخ ممكن يتكرر اكثر من مره كالتالى
1:11:2008
1:11:2008
2:11:2008
2:11:2008
3:11:2008
3:11:2008
4:11:2008
5:11:2008
5:11:2008
6:11:2008
7:11:2008
7:11:2008
.
.
.
وانا اريد حساب عدد الفواتير فى الفترة من
1:11:2008 >> 7:11:2008
ولذالك قمت باستخدام الكيورد BETWEEN
ولكن المشكلة انها بترجع كل الريكوردز اللى فى التيبل مش الريكوردز اللى انا محددها ده بسبب تكرار البيانات صحيح؟
اذن ما العمل لحل هذه المشكلة انا اريد حساب عدد الفواتير فى هذه الفترة المحددة مع مراعاة ان تاريخ اليوم ممكن يتكرر؟
try {
Class.forName("com.mysql.jdbc.Driver");
Connection c1 = DriverManager.getConnection("jdbc:mysql://localhost/stock", "root", "sys");
Statement s1 = c1.createStatement();
sdate="1:11:2008";edate="8:11:2008";
String query="SELECT * FROM orders WHERE bill_date BETWEEN "+"'"+sdate+"'"+" AND "+"'"+edate+"'";
ResultSet rs1 = s1.executeQuery(query);
int count=0;double total=0;
while (rs1.next()){
count++;
double price=rs1.getDouble(6);
total +=price;
}
s1.close();rs1.close();c1.close();
System.out.println("Number Of Orders: "+count);
System.out.println("Total Sellings: "+total);
}catch(Exception e){e.printStackTrace();}