datagrid
datagrid copied to clipboard
Incorrect rows count when using GROUP BY with multiple columns - Nette\Database\Table
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
Maybe related with https://github.com/contributte/datagrid-nette-database-data-source/pull/12.