Я использую простой запрос:

select A,B from Table1 where id in ('');

Который дает мне вывод как:

A   B
1   X
2   V
3   R

Теперь я хочу узнать количество значений B во всей базе данных:

Т.е.

A   B  CountB
1   X  3
2   V  1
3   R  2
1
Vector JX 23 Фев 2018 в 13:47

4 ответа

Лучший ответ

Это должно к ней:

SELECT *
FROM (SELECT A,
             B
      FROM   Table1
      WHERE  id in ('')) t1 LEFT JOIN
     (SELECT B,
             COUNT(B)
      FROM   Table1
      GROUP BY B) t2 ON t1.B = t2.B
0
zipa 23 Фев 2018 в 10:54

Вам нужно использовать group_by, если вы хотите определенный столбец, а затем добавить count id его, чтобы получить счет. Так что я бы сделал

SELECT A,B,COUNT(B.ID) as CountB FROM Table1 WHERE id IN ('') GROUP BY B;

0
stackFan 23 Фев 2018 в 19:11

Используйте COUNT и GROUP BY

SELECT A,
       B,
       COUNT(*) 
FROM Table1 
WHERE id IN ('')
GROUP BY B;
0
Yousaf 23 Фев 2018 в 10:52

Может я не понял вопроса, но, похоже, следующий запрос должен сделать:

SELECT   A,
         B,
         COUNT(*)
FROM     Table1
WHERE    .....
GROUP BY A,
         B
ORDER BY A,
         B;
0
Robert Kock 23 Фев 2018 в 10:52