Sunday, January 29, 2012

Count data from table SQL


my query:




"SELECT id
FROM user_follow
WHERE user_id IN(3,6) AND follow_id NOT IN(3,6)
GROUP BY follow_id";



and it show :




[users] => Array
(
[0] => Array
(
[id] => 20
)

[1] => Array
(
[id] => 9
)

[2] => Array
(
[id] => 19
)

)



I need to count data (in this example query must give back 3 as result)





I tried COUNT(id) but result was not good for me.



result :




[0] => Array
(
[count(id)] => 1
)



I tried SELECT count(1)



result :




[0] => Array
(
[count(1)] => 1
)

[1] => Array
(
[count(1)] => 2
)

[2] => Array
(
[count(1)] => 1
)



Still not not one number (3). I want something like this [users] => 3

3 comments:

  1. If you need only the number and not the data itself you can try this:

    SELECT count(1)
    FROM user_follow
    WHERE user_id IN(3,6) AND follow_id NOT IN(3,6)
    GROUP BY follow_id

    ReplyDelete
  2. $count=mysql_num_rows($sql);


    you can try this

    ReplyDelete
  3. if I am understanding your need, you can use count on the array itself as follows :

    $count=count($users)

    ReplyDelete