MySQL データベースから毎日の平均訪問者数を計算する際に問題が発生しました。訪問者が実際の訪問者かボットかによって、自動的に 0 または 1 で埋められる列があります。私のクエリは次のようになります
SELECT
COUNT( * ) / COUNT( DATEDIFF( NOW( ) ,
SELECT *
FROM mw_visitors
WHERE bot = 0
ORDER BY ID ASC
LIMIT 1 ) )
FROM mw_visitors
WHERE bot = 0
しかし、うまくいきません。私の PHPMyAdmin は、「SELECT * FROM mw_visitors where bot = 0 ORDER..」の構文にエラーがあることを教えてくれます。Webで検索しましたが、適切なものが見つかりませんでした。
編集: 構造http://pastebin.com/dm4Hjukr 実際の人間の訪問者を取得:
SELECT COUNT(DISTINCT `ip`) AS `visits`
FROM `mw_visitors` WHERE `bot` = 0 AND `time` BETWEEN
(SELECT `time` FROM `mw_visitors` WHERE `bot` = 0 ORDER BY `ID` ASC LIMIT 1) AND NOW()