Viktors
Viktors

Reputation: 935

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

Upvotes: 0

Views: 668

Answers (3)

Mike
Mike

Reputation: 3024

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

Upvotes: 2

user1062893
user1062893

Reputation: 89

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

                $count=count($users)

Upvotes: 1

Mert Emir
Mert Emir

Reputation: 691

$count=mysql_num_rows($sql);

you can try this

Upvotes: 1

Related Questions