Zend paginator dbselect count #4590

Closed
wants to merge 2 commits into
from

Conversation

Projects
None yet
2 participants

Fixes row count issue when you use GROUP with original query.

Member

ralphschindler commented Jun 5, 2013

For changes like this, I really need to be able to test the approach on multiple databases. Can you create a generic schema with generic data that shows the usage of group and what you think the expected output should be? It would really assist me in the testing of this across multiple platforms.

@ralphschindler I will get that to you soon

@ralphschindler
SQL Script http://pastebin.com/NhHLxTnd

MySQL Query: http://pastebin.com/rm2amQd6

Expected output(ie pull request): 10
Actual output(ie current issue): 13

Please let me know if there is more I can do.

Member

ralphschindler commented Jun 12, 2013

I'm working on this, but at current, it doesn't seem like COUNT(DISTINCT expr) is portable in the sense that expr can be multiple columns (like in Postgresql). The answer might lie in subselects though.

Member

ralphschindler commented Jun 12, 2013

For example, this seems more portable (with your use case tables):

SELECT COUNT(1) as "the_count" FROM (
    SELECT DISTINCT u.id, p.id
    FROM transaction_line tl
    INNER JOIN transactions t ON tl.transaction_id = t.id
    INNER JOIN users u ON t.user_id = u.id
    INNER JOIN products p ON tl.product_id = p.id
) as c
Member

ralphschindler commented Jun 12, 2013

Could you have a look at the solution in #4641 and let me know if it works for you?

Yes, #4641 works! Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment