簡體   English   中英

有沒有辦法獲得一年中每個月我的表中有多少行?

[英]Is there a way to get how many rows are in my table for each month of the year?

我想算出每個月有多少用戶注冊。 我有一個users表,其中包含 dd/mm/yyyy 格式的varchar類型的signUpDate

我寫了一個 select 聲明,它得到了我這個月有多少注冊:

select COUNT(*) as numberOfSignUps from users WHERE STR_TO_DATE(signupDate,'%d/%m/%Y') >= STR_TO_DATE('31/05/2020','%d/%m/%Y')  AND STR_TO_DATE(signupDate,'%d/%m/%Y') <= STR_TO_DATE('30/06/2020','%d/%m/%Y'); 

這很好用,但是有沒有辦法讓 go 回到之前的所有月份,而無需手動添加日期?

所需的結果將是月份的列,其中包含每個月份的注冊次數。

您似乎想要group by 我會建議:

select year(signupDate) as year, month(signupDate) as month, COUNT(*) as numberOfSignUps
from users 
group by year, month;

根據您的評論,您應該修復您的數據。 使用正確的數據類型!

同時,只需使用字符串函數:

select right(signupDate, 7) as mmyyyy, COUNT(*) as numberOfSignUps
from users 
group by mmyyyy

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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