0

这是我的数据库示例:

  • 状态日期

  • 问 2012-08-02。

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

在这里,如果我运行我的应用程序意味着我希望显示 2。这是执行以下信息。- 查看数据库当前月份+status=Q显示你总共获得了多少匹配信息。例如total 2 表示输出显示为2。

我已经完成了当前日期+状态=Q信息的总计数值。它已成功完成。在这里我使用了这个代码:

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());
 }

}

上面的代码用于获取当前日期 + status=Q的信息。请帮助我如何编写当前月份的代码 + status=Q ....

4

1 回答 1

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())
于 2012-08-02T09:54:41.477 回答