2017-04-10 50 views
1

有沒有一種方法可以計算每個唯一like_user_id在行中的時間?
添加到此;有沒有辦法將這個輸出到like_user_idcountSQL:爲每個N獲取COUNT

我已經嘗試了以下方法,但這隻適用於like_user_id = 2

這是我的表格。 link

SELECT *, COUNT(`like_user_id`) FROM `xf_liked_content` 
WHERE `xf_liked_content`.`like_user_id` = 2; 
+1

我已經添加了樣表數據已經和預期的結果:like_user_id - count/ 1 - 1/ 2 - 3/ – Chuchoter

+0

PLZ看鏈接引用知道,如何問一個完美的問題:https://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/ – TheGameiswar

+0

我下次肯定會用,謝謝!但是,也有工作的答案。 – Chuchoter

回答

1

這其實是很簡單的。

所有你需要做的是給他們組由長期like_user_id並選擇它,和它的算! 下面是一個完整的例子:

SELECT like_user_id, count(like_user_id) FROM xf_liked_content GROUP BY like_user_id 

有關於如何使用GROUP BY,比如據我所知很多的限制,你不能SELECT一個術語,是不是你的GROUP BY名單上,但是這是沒有問題的案件。有關group by聲明的更多信息,請查詢https://www.w3schools.com/sql/sql_groupby.asp

享受編程!

+0

實際上情況恰恰相反..對於大多數數據庫,您不能選擇不在組中的內容,但是如果不進行分組就沒有問題,那就太好了 –

+0

哦,沒錯!隨意編輯我的答案,謝謝你的擡頭。 – praisethemoon

1

嘗試使用此代碼:

select 'like_user_id', count(*) as cnt 
from 'xf_liked_content' 
group by 'like_user_id' 

還是這個,diffenetly取決於您的DBMS:

select "like_user_id", count(*) as cnt 
from "xf_liked_content" 
group by "like_user_id" 

或明年代碼:

select like_user_id, count(*) as cnt 
from xf_liked_content 
group by like_user_id