Суммируйте запрос ВЫБОРА

#mysql #vb.net

#mysql #vb.net

Вопрос:

В настоящее время я выполняю этот запрос select (короче, чем оригинал).:

 SELECT 'website' service, COUNT(*)  FROM website  UNION  SELECT 'vps' service, COUNT(*)  FROM vps  UNION  SELECT 'other' service,  COUNT(*)  FROM other;  

Я получаю такой результат:

Результат

  --------- ----------  | service | COUNT(*) |  --------- ----------  | website | 2 | | vps | 1 | | other | 2 |  --------- ----------  3 rows in set (0.01 sec)  

Я хотел бы суммировать все результаты, которые перечислены в COUNT(*) столбце.

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

  ----------  | COUNT(*) |  ----------  | 5 |  ----------  1 rows in set (0.00 sec)  

Как я могу это сделать?

Спасибо!

Комментарии:

1. I'd like to add up all these results in the "COUNT(*)" collum. как? Можете ли вы опубликовать ожидаемый результат ?

2. @ErgestBasha Я обновил пост, чтобы он содержал эту информацию.

3. Есть несколько возможных способов освежевать эту кошку. Первый вопрос, на который вам действительно придется ответить, — нужны ли вам результаты первого запроса? Вы можете вернуть исходный набор результатов, а затем использовать функцию вычисления для результирующего запроса DT или Linq, чтобы суммировать его.

Ответ №1:

Основываясь на комментарии, который вы должны добавить SUM во внешний запрос.

Попробуй:

 SELECT sum(t1.nr_count) FROM (  SELECT 'website' service, COUNT(*) as nr_count FROM website   UNION   SELECT 'vps' service, COUNT(*) as nr_count FROM vps   UNION   SELECT 'other' service, COUNT(*) as nr_count FROM other   ) as t1;   

Комментарии:

1. Похоже, это сработало! Большое спасибо. Я не знал, как суммировать запрос select, чтобы это действительно помогло мне в моих дальнейших проектах.