una tabla repetidos registros obtener numero filas distintos contar consulta condicion agrupados sql count unique numbers records

tabla - sql contar registros condicion



¿Cómo contar registros únicos y obtener el número de estos únicos en la tabla usando SQL? (1)

Imagina que tengo una mesa como esta:

id: Producto: shop_id

1: Baloncesto: 41

2: Fútbol: 41

3: cohete: 45

4: Coche: 86

5: Plano: 86

Ahora, este es un ejemplo de gran centro comercial de Internet, donde hay tiendas que venden a un cliente, por lo que los clientes pueden elegir más productos de cada tienda y comprarlo en una sola canasta.

Sin embargo, no estoy seguro de si hay alguna sintaxis SQL que me permita obtener simplemente shop_ids y el número total de productos de esas tiendas en la cesta del cliente. Entonces obtendría algo como:

Shop 41 tiene 2 productos

Compre 45 un producto

Compre 86 dos productos

Puedo hacer consultas SQL para extraer de la tabla para crear algún tipo de variable de matriz [''shop_id''] [''number_of_products''] que almacene todos los shop_ids de los productos, luego "unique them" - up y cuente cuántas veces tuve que cortar un shop_id más para tener algunos restantes, pero eso parece ser una gran cantidad de scripts inútiles.

Si tienes alguna idea bonita y ordenada, házmelo saber.


Este es exactamente el tipo de cosas para las que son las funciones agregadas. Hace una fila de salida para cada grupo de filas en la tabla. Agrúpelos por shop_id y cuente cuántas filas hay en cada grupo.

select shop_id, count(1) from TABLE_NAME group by shop_id