如何使用SQL计算唯一记录并获取这些唯一身份验证的数量?

问题描述:

想象一下我的表是这样的:如何使用SQL计算唯一记录并获取这些唯一身份验证的数量?

ID:产品:shop_id

1:篮球:41

2:足球:41

3:火箭:45

4:Car:86

5:Plane:86

现在,这是一个大型互联网商城的例子,那里有卖给一个顾客的商店,所以顾客可以从每个商店选择更多的产品并在一个购物篮中购买。

但是,我不确定是否有任何SQL语法可以让我简单地在customer basket中获取唯一的shop_ids和这些商店产品的总数。所以我得到的东西,如:

店41个产品

店45一个品

店86两款产品

我可以做的SQL查询舀通过表做出某种['shop_id'] ['number_of_products']数组变量,它将存储所有产品的shop_id,然后“唯一它们” - 计算多少次我不得不削减一个shop_id剩下一些剩余,但看起来像大量无用的脚本。

如果你有一些不错的想法,请告诉我。

这正是聚合函数的用途。您为表格中的每组行创建一行输出。按shop_id对它们进行分组并计算每个组中有多少行。

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

(1)计数表示SELECT后的哪个参数应该计数? – Skuta 2008-10-26 01:13:45