簡體   English   中英

我的SQL DISTINCT並計算如果

[英]My SQL DISTINCT and count if

我有一張桌子:

在此輸入圖像描述

我想編寫一個查詢來為特定用戶顯示唯一的Adid:

SELECT DISTINCT Adid FROM Message WHERE (MesFrom =1 OR MesTo = 1) AND (MesFrom =2 OR MesTo = 2) ORDER BY ID DESC

這沒問題

但現在我想添加新消息的數量,所以我需要類似的東西

SELECT Count(IF(New=1,1,0)) AS countNew FROM Message

但需要將它與之前的查詢結合起來

輸出必須如下:

43新3 44新1

請幫忙!)

嘗試

SELECT Adid, SUM(New = 1) new
  FROM Message 
 WHERE (MesFrom = 1 OR MesTo = 1) 
   AND (MesFrom = 2 OR MesTo = 2) 
 GROUP BY Adid

輸出:

| ADID | NEW |
|------|-----|
|   42 |   2 |
|   43 |   3 |
|   44 |   1 |

這是SQLFiddle演示

SELECT DISTINCT Adid , Count(IF(New=1,1,0)) AS countNew
FROM Message
WHERE (MesFrom =1 OR MesTo = 1) AND (MesFrom =2 OR MesTo = 2) 
ORDER BY ID DESC

請檢查它是否正常工作。

暫無
暫無

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

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