1

データベースにあるすべての日付をグループ化し、最高額を取得して Web サイトに表示したいと考えています。この SQL を使用しようとしました。SELECT COUNT(date_visited) FROM visitors GROUP BY date_visitedしかし、それはのみを示しています1

データベースは次のようになります。

CREATE TABLE IF NOT EXISTS `visitors` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `ipaddress` text NOT NULL,
  `page` text NOT NULL,
  `page_get` text NOT NULL,
  `date_visited` datetime NOT NULL,
  `date_lastactive` datetime NOT NULL,
  `date_revisited` datetime NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id` (`id`)
)

どうすればこの問題を解決できますか?

前もって感謝します。

4

2 に答える 2

3

アンドマーの答えは、日付だけでなく日時でグループ化するということです。

さらに、テーブルで最も頻繁に発生する日付を見つけようとしているようです。これを行うには、次のことを試すことができます。

SELECT DATE(date_visited)
FROM visitors
GROUP BY DATE(date_visited)
ORDER BY COUNT(*) DESC
LIMIT 1
于 2012-06-23T17:24:42.817 に答える
1

列でグループ化する場合はdatetime、通常、すべての時点でグループを取得します。代わりに日ごとにグループ化するには、次のようにキャストできdatetimeますdate

select  date(date_visited)
,       count(*) 
from    visitors 
group by
        date(date_visited)
order by
        count(*) desc
limit   1
于 2012-06-23T17:24:34.410 に答える