[英]mysql datetime how can get the data group by interval day, week, month
當使用mysql datetime數據類型時,如何以最佳方式按日,周,月的間隔獲取數據組。 如果通過函數轉換日期時間,則會使索引無效。
我想獲得每一天的訪客數量。 並且還想在幾周內每周獲取總訪客數。 而且每月數據也要。
1.我的桌子
CREATE TABLE IF NOT EXISTS visitip (
id INT(11) NOT NULL AUTO_INCREMENT,
ip VARCHAR(20) NOT NULL,
totalvisit INT(11) NOT NULL DEFAULT 0,
lastvisit DATETIME NOT NULL,
country VARCHAR(50) NOT NULL,
countrycode CHAR(2) NOT NULL,
city VARCHAR(50) NOT NULL,
PRIMARY KEY (id),
UNIQUE INDEX ipindex2 (ip),
INDEX ccodeidx (countrycode),
INDEX lastvisitidx (lastvisit)
2.我可以通過此查詢獲得今天的訪客
SELECT * FROM visitip WHERE lastvisit >= CONCAT(CURDATE(),' 00:00:00')
3.我怎樣才能每人最后7天?
4.我如何才能持續幾個星期?
5.我每個月如何能維持幾個月?
3.FOR獲得過去7天的選擇*從訪問者的WHERE DATE(lastvisit)> DATE(DATE_ADD(NOW(),INTERVAL -7 DAY));
5.從訪問者中選擇MONTH(lastvisit),KAYIT_TARIH_SAAT,其中YEAR(lastvisit)= YEAR(NOW())和MONTH(lastvisit)= MONTH(NOW());
要么
SELECT * FROM visitip WHERE DATE_FORMAT(lastvisit,'%Y%m')= DATE_FORMAT(NOW(),'%Y%m')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.