Open mtarlac opened 6 years ago
Have you looked what the raw output is of both? Can you please post that too?
Hi
Raw query seems Ok
SELECT
orders.*,
admins.
first_name,
admins.
last_nameFROM
ordersLEFT JOIN
adminsON
admins.
id=
orders.
admins_id``
and with groupBy
SELECT
orders.*,
admins.
first_name,
admins.
last_nameFROM
ordersLEFT JOIN
adminsON
admins.
id=
orders.
admins_idGROUP BY
orders.
id``
both queries returns the same rows (in this case) but the first one is counted properly while the second one shows 1.
Hi @mtarlac, can you please run this query in your database manually and see what it returns?
SELECT orders.*, admins.first_name, admins.last_name FROM orders LEFT JOIN admins ON admins.id=orders.admins_id GROUP BY orders.id
If it return 1
there then don't you think it's a data or querying issue?
Sure but it returns >1 rows since there are more than one order...
So when querying manually it returns correct and when querying using Pixie it returns 1?
On Sat, Feb 17, 2018, 19:38 mtbl notifications@github.com wrote:
Sure but it returns >1 rows since there are more than one order...
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/usmanhalalit/pixie/issues/180#issuecomment-366442043, or mute the thread https://github.com/notifications/unsubscribe-auth/AA74L-mkFnKmFnspDvJydgZ23Z3AghWgks5tVtZLgaJpZM4R-RuO .
Yes..
Code: `$query = PB::table('orders') ->leftJoin('admins', 'admins.id', '=', 'orders.admins_id') ->select('orders.*', 'admins.first_name', 'admins.last_name')->groupBy('orders.id');
$no = $query->count();`
In this example with and without "->groupBy('orders.id')" should return the same result since there are no Count, SUM or other aggregate functions.
But in case you want to count (for example) items in order_items table and group them by order it doesn't work.
I'll try to reproduce, thanks!
Hello
Not sure am I missing something, but seems that count() doesn't work properly when groupBy is used
For example
$query = PB::table('orders') ->leftJoin('admins', 'admins.id', '=', 'orders.admins_id') ->select('orders.*', 'admins.first_name', 'admins.last_name');
$no = $query->count();
works but
$query = PB::table('orders') ->leftJoin('admins', 'admins.id', '=', 'orders.admins_id') ->select('orders.*', 'admins.first_name', 'admins.last_name')->groupBy('orders.id');
$no = $query->count();
doesn't work and returns 1 as count.