[英]Using count() to output total entries per month as well as the month
我嘗試了一些搜索,結果找到了count()函數使我更接近目標,但又停了一下。 這是我的代碼現在的樣子:
$sql = "SELECT COUNT( * ) as Count
FROM AttendanceDB
WHERE YEAR( class_time ) = '2015'
AND studentid = '$studentid'
AND furikae = 0
GROUP BY MONTH( class_time )";
然后我用echo $row['Count'];
輸出數據。
這使我可以總計2015年每月的行數,然后輸出答案。 現在,我想做的是輸出每一行中的月份以及總數。 我可以對所有內容進行預格式化,但是有些學生ID會在一年中開始輸入,這意味着前幾個月不會輸出任何結果。
如何同時從數據庫中選擇月份以及同時使用計數功能? 謝謝
您可以使用聚合函數
$sql = "SELECT COUNT( * ),max(YOUR MONTH COLUMN) as MONTH as Count FROM AttendanceDB WHERE YEAR( class_time ) = '2015' AND studentid = '$studentid' AND furikae = 0 GROUP BY MONTH( class_time )";
我認為這對您有幫助:
$sql = "SELECT MONTH( class_time ) AS month, COUNT( * ) as Count
FROM AttendanceDB
WHERE YEAR( class_time ) = '2015'
AND studentid = '$studentid'
AND furikae = 0
GROUP BY MONTH( class_time )";
怎么樣:
$sql = "SELECT MONTH(class_time) AS m, COUNT(*) AS c
FROM AttendanceDB WHERE YEAR(class_time) = '2015'
AND studentid = '$studentid'
AND furikae = 0
GROUP BY m";
這樣,您將把月份作為單獨的列,該列還將在結果中顯示為$row['m']
,而每月計數為$row['c']
。 (我避免使用與MySQL函數名稱相同的名稱,因此避免使用m
和c
。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.