Skip to content

Incorrect rows count when using GROUP BY with multiple columns - Nette\Database\Table #991

@matoni555

Description

@matoni555

Hi,
I found the bug in Nette\Database\Table data source when using GROUP BY with multiple columns.

Here is example of SQL queries.
Query for the datagrid with 703 total rows.

SELECT `id`, `title`, `variant`, CONCAT_WS(" - ", `title`, `variant`, `course_city`, `course_date`) AS `full_name` 
FROM `orders_products` 
GROUP BY `title`, `variant`, `course_city`, `course_date`;

Datagrid generated this SQL query from the getCount() function which gets 0 rows.

SELECT COUNT(DISTINCT `title`, `variant`, `course_city`, `course_date`) 
FROM `orders_products`;

I think right SQL query with multiple GROUP BY columns should be:

SELECT COUNT(*) 
FROM (
SELECT COUNT(id) 
FROM `orders_products`
GROUP BY `title`, `variant`, `course_city`, `course_date`
) AS x;

Best regards

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Triage: Now

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions