2016-07-13 5 views
0

Я хочу знать, сколько элементов различного имени у меня есть в моей базе данных. Когда я использую:SQL select count distinct

select count(distinct name) from products 

я, очевидно, получить только количество различных, отдельных имен есть в моей базе данных . Я экспериментировал с группой, но в качестве новичка I потерпел неудачу. Буду признателен за любую помощь.

+1

Я не уверен, что именно вы ищете. Вы пытаетесь найти количество строк, которые имеют уникальное имя, которое не отображается в другом месте таблицы? –

+0

Я не понимаю вас, извините. Вы или не хотите, чтобы в вашей таблице было количество разных имен? – LordBaconPants

+0

Если я не ошибаюсь, я думаю, что @User пытается получить что-то по строкам 'product1/23',' product2/67', 'product3/12' и т. Д. Пожалуйста, подтвердите, правильно ли это? – gravity

ответ

2

Группа по name и использовать count(), чтобы получить отсчеты для каждой группы

select name, count(*) 
from products 
group by name 
+0

Что делать, если я хочу получить количество элементов для одного определенного имени? Я экспериментировал с 'select name, count (*) из группы продуктов по имени, где имя типа «Book», но оно не работает – Jes

+0

Ну тогда вам не нужно группировать вообще: 'select count (*) из продуктов, где name = 'Book''. И BTW 'where' доходит до' group by', поэтому ваш запрос не работал –

+0

О, спасибо, я задумался над этим! Еще одна вещь, которую я хотел бы передать аргумент для моего SQL-запроса, я не знаю, возможно ли это? Я пытался с 'select count (*) из продуктов, где name = "& name"' ' – Jes