Imagínese que tengo tabla como la siguiente:¿Cómo contar registros únicos y obtener el número de estos únicos en la tabla mediante SQL?
Identificación: Producto: shop_id
1: Baloncesto: 41
2: Fútbol: 41
3: Rocket: 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. Así que me gustaría conseguir algo como:
Shop 41 tiene 2 productos
Shop 45 un producto
Shop 86 dos productos
Puedo hacer consultas SQL para recoger a través de la mesa para hacer alguna clase de la variable de matriz ['shop_id'] ['number_of_products'] que almacenaría todos los shop_ids de los productos, luego "unique them" - up y cuenta cuántas veces tuve que cortar un shop_id más para tener un poco de espacio restante pero eso parece una gran cantidad de secuencias de comandos inútiles.
Si tiene alguna idea buena y ordenada, por favor, hágamelo saber.
(1) after Count significa qué parámetro después de SELECT se contará? – Skuta
No, el (1) no es una referencia a ninguna columna, solo es el valor entero 1. Es más típico usar COUNT (*) o COUNT (nombre de columna). Glomek está usando COUNT (1) como un valor entero constante, porque algunas personas creen que esto es más rápido que hacer referencia a una columna. –
El optimizador * debe * ocuparse de que el conteo (*) tome el mismo tiempo que el recuento (1). Supongo que algunos optimizadores no lo hacen. – yfeldblum