Я застрял с MySQL ROLLUP на столбце подсчета. Можете ли вы направить меня.
Я написал следующий запрос MySQL
Запрос:
SELECT (SELECT store.StoreName from store
WHERE store.storeOwnerId=redeem.StoreNo)
AS CompanyName,
(SELECT mscheme.SchemeName from mscheme
WHERE mscheme.SchemeNo = redeem.SchemeNo)
AS SchemeName,
count(*) AS Count
FROM kirana_app.redeem GROUP BY redeem.SchemeNo
ORDER BY CompanyName;
** Выход **
CompanyName,SchemeName, Count
'Dwarkesh', 'September-saffola', '25'
'Dwarkesh', 'September-Tea', '20'
'Nitin stores', 'Testing Scheme', '1'
'Nitin stores', 'September-Parle', '63'
Мне нужно свернуть с графом столбец
Вывод как:
CompanyName,SchemeName, Count
'Dwarkesh', 'September-saffola', '25'
'Dwarkesh', 'September-Tea', '20'
**Dwarkesh', NULL, '45'**
'Nitin stores', 'Testing Scheme', '1'
'Nitin stores', 'September-Parle', '63'
**'Nitin stores', NULL, '64**'
Научитесь делать правильные объединения вместо подзапросов.
SELECT s.StoreName AS CompanyName,
m.SchemeName AS SchemeName,
COUNT(*) AS Count
FROM redeem r
INNER JOIN store s ON r.StoreNo = s.storeOwnerId
INNER JOIN mscheme m ON m.SchemeNo = r.SchemeNo
GROUP BY s.CompanyName, m.SchemeNo
WITH ROLLUP;
ORDER BY
неявно сделано GROUP BY
,
Других решений пока нет …