-1

以下の形式のデータがあります。

iPAddress   + timeVisited
=========================
 varchar    +  timestamp

私が取りたかったのは

  1. 1 日あたりの合計 IP があるレポート (システム日付)
  2. 1 週間あたりの合計 IP を示すレポート (今日が火曜日の場合、7 日間ではなく今週が必要です)
  3. 1 か月あたりの合計 IP を含むレポート (当月... 今日が 18 日の場合、今月の 1 から 18 まで)
  4. 年間の総 IP があるレポート

これを行う方法はありますか?

4

2 に答える 2

1

今日のすべてのレコードを取得するには

select iPAddress from table_name where date(timeVisited) = curdate();

現在の週のすべてのレコードを取得するには

select iPAddress from table_name where week(timeVisited) = week(curdate()) and year(timeVisited) = year(curdate());

今月のすべてのレコードを取得するには

select iPAddress from table_name where month(timeVisited) = month(curdate()) and year(timeVisited) = year(curdate());

そして、今年のすべての記録を取得するには

select iPAddress from table_name where year(timeVisited) = year(curdate());

それが役に立てば幸い。

于 2013-10-30T19:20:34.740 に答える
-1

以下は私が使用したものです

現在の日付

select count(*) from myTable where DATE(myTime) = DATE(NOW());

今週

select count(*) from myTable where YEAR(myTime) = YEAR(NOW()) AND WEEKOFYEAR(myTime) = WEEKOFYEAR(NOW());

今月

select count(*) from myTable where YEAR(myTime) = YEAR(NOW()) AND MONTH(myTime) = MONTH(NOW());

当年

select count(*) from myTable where YEAR(myTime) = YEAR(NOW());

sqlfiddle でのデモ

ノート:

YEAR(myTime) = YEAR(NOW())今週と今月は非常に重要な役割を果たします。

日付を2012-10-30と と考えてください2013-10-30

于 2013-10-30T19:05:48.510 に答える