如何使用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
(1)计数表示SELECT后的哪个参数应该计数? – Skuta 2008-10-26 01:13:45