[英]Getting row count from a table in mySql
我有一個名為'blogDetails'的表有blogId,userId,blogTitle,blogContent我有另一個名為'blogPopularity'的表有blogId,userId,popularStat。
現在在第二個表(blogPopularity)中,'popularStat'字段可以包含'L'(對於喜歡)或'D'(對於不喜歡)。
我正在使用存儲過程來插入內容(到blogDetails)和喜歡/不喜歡狀態(到blogPopularity)。
我想顯示每個博客的喜歡和不喜歡的數量。
有人建議我怎么做。
SELECT a.blogId,
a.blogTitle,
SUM(CASE WHEN b.popularityStat = 'L' THEN 1 ELSE 0 END) `LIKES`,
SUM(CASE WHEN b.popularityStat = 'D' THEN 1 ELSE 0 END) `DISLIKES`
FROM blogDetails a
LEFT JOIN blogPopularity b
ON a.blogID = b.blogID
GROUP BY a.blogId, a.blogTitle
樣本結果
╔════════╦═══════════╦═══════╦══════════╗
║ BLOGID ║ BLOGTITLE ║ LIKES ║ DISLIKES ║
╠════════╬═══════════╬═══════╬══════════╣
║ 1 ║ Title1 ║ 7 ║ 3 ║
║ 2 ║ Title2 ║ 6 ║ 4 ║
║ 3 ║ Title3 ║ 3 ║ 1 ║
╚════════╩═══════════╩═══════╩══════════╝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.