[英]How to count some rows of a MySQL table
我得到一個MySQL表,多個用戶可以單擊一個按鈕來接受某些內容。 之后,信息將與以下數據一起保存。
uid (ai, primary key)
user_uid (id of user)
object_uid (id of object you visit)
date_start
date_end
我想計算有多少人在同一object_uid
上獲得date_end
。 因此,如果2個人在date_end
有一個條目,則應該計算例如訪問過相同object_uid
2個人。 但是我不知道該怎么做,我也不知道如何更好地使用Google,因為我大約在2個小時前就找到了答案。
問候
PS:對不起我的英語不好。
這是你想要的嗎:
SELECT
object_uid,
date_end,
COUNT(DISTINCT user_uid) AS cnt
FROM yourTable
-- WHERE object_uid IN (...)
GROUP BY object_uid, date_end
ORDER BY object_uid, date_end;
這將輸出每個對象的報告以及日期以及對象上與結束日期一致的不同用戶數。 如果只需要單個對象或所選對象列表的數據,則取消注釋並使用WHERE
子句。
由於@Tim Biegeleisen,我為我的問題找到了正確的方向。 以下代碼解決了我的問題。
SELECT count(*) FROM table_name WHERE date_end IS NOT NULL AND object_uid = id;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.