2012-08-02 78 views
0

這是我的採樣數據庫:獲取當月

  • 狀態日期

  • Q 2012-08-02。

  • 問2012-08-01。
  • 問2012-09-03。

這裏如果我運行我的應用程序意味着我希望顯示2.這是做以下信息。 - 檢查數據庫當月+狀態= Q顯示經過多次匹配信息如何完全是你got.for例如達2指輸出顯示2.

已經我做得到總計數值當前日期+狀態= Q information.it已成功完成。 在這裏,我用這個代碼:

public class RetailerWs { 
public int data(){ 
int count=0; 

//count++; 

try{ 
    Class.forName("com.mysql.jdbc.Driver"); 
    Connection con = DriverManager 
    .getConnection("jdbc:mysql://localhost:3306/pro","root",""); 

    PreparedStatement statement = con 
    .prepareStatement("select * from orders where status='Q' AND date=CURDATE()"); 
    ResultSet result = statement.executeQuery(); 

    while(result.next()) { 
    // Do something with the row returned. 
    count++; //if the first col is a count. 
    }  
} 
catch (Exception exc) { 
    System.out.println(exc.getMessage()); 
} 


return count; 
} 
} 

的另一個類是:

public class Demo { 
public static void main(String[] args){ 
    RetailerWs obj = new RetailerWs(); 
    System.out.println(obj.data()); 
} 

} 

爲得到當前日期+狀態= Q的信息上面的代碼。 請幫我如何寫當月+狀態碼= Q ....

+0

爲什麼烏爾把-2積分 – user1570318 2012-08-02 09:53:17

+3

你應該更加努力地用正確的語法和標點符號來書寫。 – SkyDan 2012-08-02 10:03:48

+0

@SkyDan,英語不是每個人的母語,至少不是我的。給他一些鬆懈你。至少他正在編碼方面做出努力。 – 2012-08-02 10:17:02

回答

0

它應該是:

select * from orders where status='Q' AND MONTH(date) = MONTH(CURDATE()) 

討論MySQL的日期和時間函數的詳細信息,請參閱THIS

本週,嘗試:

select * from orders where status='Q' AND WEEK(date) = WEEK(CURDATE()) 

於今年的一週中,嘗試:

select * from orders where status='Q' AND WEEK(date) = WEEK(CURDATE()) AND YEAR(date) = YEAR(CURDATE()) 

就什麼都有了一張支票用途:

select * from orders where status='Q' AND YEARWEEK(date) = YEARWEEK(CURDATE()) 
+0

雅是正確的...我得到了我的輸出..感謝亞爾..感謝你爲你的幫助,但我也希望需要status ='Q'+本週意味着如何寫查詢 – user1570318 2012-08-02 10:02:03

+0

@ user1570318看到我編輯的答案。如果您對答案感到滿意,請考慮接受答案。不過,我強烈建議看看我提供的鏈接。 – Baz 2012-08-02 10:03:46

+0

非常感謝你...這是成功的工作。非常感謝你 – user1570318 2012-08-02 10:07:29