[英]Mysql group by date and count query
嘗試這個:
SELECT date, COUNT(*) as total,
SUM(CASE WHEN read = 1 THEN 1 ELSE 0) as read
SUM(CASE WHEN read = 0 THEN 1 ELSE 0) as unread
FROM yourtable
GROUP BY date
您可以使用案例匯總過濾后的值以供讀取
select date
, count(*), sum(case when read=1 then 1 else 0 end ) as read
, sum(case when read=0 then 1 else 0 end ) as unread
from my_table
group by date
嘗試此操作在read
列中不需要大小寫,因為1
表示已read
因此我們只求sum
即可。 如果我們處理大量數據,它將對性能有所幫助:
SELECT date,
COUNT(*) as total,
SUM(read) as read --Case not needed here
SUM(CASE WHEN read = 0 THEN 1 ELSE 0) as unread
FROM yourtable
GROUP BY date
您必須使用group by
by將日期group by
行group by
,然后可以使用count
來計數每個日期組內的總行數(=總列)。 為了獲得已讀和未讀的數量,可以將已讀和未讀的值sum
SELECT date
, COUNT(*) AS total
, SUM(READ) AS READ
, SUM(CASE WHEN READ = 0 THEN 1 ELSE 0 END) AS unread
FROM mytable
GROUP BY date
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.