выбрать строки и сумму из одной таблицы MySQL в одном запросе - PullRequest
0 голосов
/ 05 ноября 2011

В последнее время я пытаюсь уменьшить количество запросов, объединяя ненужные.

в этом самом случае я пришел к запросу, что я должен был использовать два запроса: один, чтобы получить сумму всехoptions, а другой - строки одной и той же таблицы

SELECT `id`, `text`,`count`, SUM(`count`) AS sumoption
    FROM _options 

Но когда я пытаюсь выполнить этот запрос, результатом будет только одна строка, и я думаю, что это потому, что я добавил SUM (количество),Я знаю, что должен использовать group by для решения этой проблемы, но схема таблицы не так проста.

id  text                  count
 1  Honda                   1        
 2  Benz                    0        
 3  Toyota                  1  

теперь сумма должна быть 2, и она должна перечислять все опции и их значения.
Какможно ли это сделать?


PS.: Ожидаемый результат:

 Honda                   1        
 Benz                    0        
 Toyota                  1  
 Sum of counts : 2 

1 Ответ

3 голосов
/ 05 ноября 2011

Примерно так выглядит более логично:

SELECT m.id, m.name, count(o.man_id) AS sumoption
FROM _options o 
RIGHT JOIN manufacturers m ON (m.id = o.man_id)
GROUP BY m.id WITH ROLLUP

В вашем случае вы также можете использовать:

SELECT id, `text`, SUM(`count`) AS sumoption
FROM _options 
GROUP BY id WITH ROLLUP
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...