簡體   English   中英

mysql datetime如何按間隔日,周,月獲取數據組

[英]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.我每個月如何能維持幾個月?

  1. 對於今天的訪客SELECT * FROM visitip WHERE DATE(lastvisit)= DATE(NOW());

3.FOR獲得過去7天的選擇*從訪問者的WHERE DATE(lastvisit)> DATE(DATE_ADD(NOW(),INTERVAL -7 DAY));

  1. SELECT * FROM visitip 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM