Como contar registros exclusivos e obter o número desses exclusivos na tabela usando o SQL?

StackOverflow https://stackoverflow.com/questions/237302

Pergunta

Imagine que eu tenho mesa assim:

ID: Produto: shop_id

1: Basquete: 41

2: futebol: 41

3: Rocket: 45

4: carro: 86

5: Plano: 86

Agora, este é um exemplo de grande shopping internet, onde há lojas que vendem para um cliente, para que o cliente possa escolher mais produtos de cada loja e comprá -lo em uma cesta.

No entanto, não tenho certeza se existe alguma sintaxe do SQL que me permita simplesmente obter shop_ids exclusivos e número total de produtos dessas lojas na cesta de clientes. Então eu teria algo como:

A loja 41 tem 2 produtos

Compra 45 um produto

Compra 86 dois produtos

Eu posso fazer consultas SQL para passar pela tabela para fazer algum tipo de variável de matriz ['shop_id'] ['number_of_products'] que armazenaria todos os produtos 'shop_ids, depois "exclusivos" - para cima e contem a quantas vezes eu tinha que cortar Mais um Shop_Id para ter alguns restantes, mas isso parece ter muitos scripts inúteis.

Se você tem uma ideia agradável e interessante, por favor, me avise.

Foi útil?

Solução

Esse é exatamente o tipo de coisa para a qual as funções agregadas são. Você faz uma linha de saída para cada grupo de linhas na tabela. Agrupe -os por shop_id e conte quantas linhas estão em cada grupo.

select shop_id, count(1) from TABLE_NAME
  group by shop_id
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top