![](/img/trans.png)
[英]how to count mysql records for each month of the year grouped by one field
[英]Select all MySQL data, count records by month, year not working correctly
我有一個帶有IP地址列表的數據庫表,每個IP地址都有一個datetime
列,從datetime
上來說,該示例類似於以下示例:
ip_address | date_first_viewed
192.122.42.2 2015-12-23 14:03:10
183.123.13.4 2015-12-23 02:11:10
193.311.31.6 2015-11-10 12:29:00
我正在嘗試根據月,年對數據進行選擇,計數和分組,因此它將顯示為:
(2015, 12) 2
(2015, 11) 1
這是我當前正在使用的查詢,盡管它不返回任何日期?
$sql8 = "SELECT COUNT(ip_address) as count, EXTRACT(YEAR_MONTH FROM date_first_viewed) as date
FROM `all_website_stats`
GROUP BY EXTRACT(YEAR_MONTH FROM date_first_viewed)";
您的SQL看起來不錯。 剛剛逃出保留字count
和date
與反引號,以避免問題。 要以所需的格式獲取日期,您可以嘗試以下查詢,該查詢只是將您要格式化的其他字符連接起來:
SELECT CONCAT('(', YEAR(date_first_viewed), ', ', MONTH(date_first_viewed), ')') FROM table;
因此,對於您的示例:
SELECT COUNT(ip_address) as `count`, CONCAT('(', YEAR(date_first_viewed), ', ', MONTH(date_first_viewed), ')') as `date`
FROM `all_website_stats` GROUP BY CONCAT('(', YEAR(date_first_viewed), ', ', MONTH(date_first_viewed), ')')";
應該做到的!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.