开发者

mysql, php, how to get a count of users?

i have a table like this:

user  | session
test1 | 11
test1 | 11
test1 | 11
test1 | 21
test1 | 21
test2 | 2
test2 | 2
test3 | 3
test3 | 3
test3 | 32
test3 | 32

i would like to get back that user 1 has 2 sessions, user 2 has 1 sessions, user 3 has 2 sessions bassically how many the same sessions a user has?

i've tryed $sql4 = SELECT user, session , count(*) FROMtablegroup by user, session

and i get the distinct sessions but not the count

any ideas? thanks

edit:

if i use SELECT user, count(*) FROM users GROUP BY user i get test 1 = 5. it give's me the total nr or sessions instead of total nr of sessions that are the same. in th开发者_C百科is case 2


SELECT user, count(DISTINCT session) FROM users GROUP BY user

DISTINCT used to calc only unique sessions


If you want to know the overall number of person online you just need to count the number of user regardless of the session

$sql4 = SELECT COUNT(*) from (
        SELECT  distinct(user)
        FROM table) as innerquery

This will group all by user what ever the session. The result will be a simple integer.

If you need to count the amount of session of each user and do not want to have a count for each session you need to remove the duplicate with a Distinct keyword.

$sql4 = SELECT user, count(distinct(session)) 
        FROM table 
        GROUP by user

The result will be a list of user-># of session

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜