2014-08-29 4 views
1

У меня есть следующий источник таблицы:SQL Count() столбец значений

pid | code 
---------- 
1  P2 
2  P2 
3  P3 
4  P1 
5  P2 
6  P1 

Теперь я хочу, чтобы получить информацию о том, сколько раз каждый код существует:

code | count 
------------ 
P2  3 
P1  2 
P3  1 

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

+0

Почему вы все скобки на графа первую очередь его MySQL и второй его не зарезервированное слово?. – Mihai

+0

Возможный дубликат [SQL: как получить счет каждого отдельного значения в столбце?] (Http://stackoverflow.com/questions/7053902/sql-how-to-get-the-count-of-each- distinct-value-in-a-column) –

ответ

3

SQL Fiddle:

SELECT t.code, COUNT(*) AS `count` 
FROM MyTable t 
GROUP BY t.code 
ORDER BY COUNT(*) DESC 
+0

Это именно то, что мне нужно. Спасибо! – 17nxo

1
DECLARE @testTable table (pid int 
        ,code varchar(2) 
) 

insert into @testTable values (1, 'P2') 
insert into @testTable values (2, 'P2') 
insert into @testTable values (3, 'P3') 
insert into @testTable values (4, 'P1') 
insert into @testTable values (5, 'P2') 
insert into @testTable values (6, 'P1') 


SELECT CODE, COUNT(1) AS [COUNT] 
FROM @testTable 
GROUP BY CODE 
ORDER BY [COUNT] DESC 
+0

'[COUNT]' не будет работать. Вместо этого вам нужно использовать обратный тик. Также 'ORDER BY [COUNT] DESC' не будет работать, вам нужно использовать' ORDER BY COUNT (1) DESC'. – Linger

+0

работал хорошо для меня – Deiwys

Смежные вопросы