想象一下我有这样的表:
id:产品:shop_id
1:篮球:41
2:足球:41
3:火箭:45
4:汽车:86
5:平面:86
现在,这是一个大型互联网商城的例子,其中有商店向一个客户销售,因此客户可以从每个商店中选择更多产品并在一个篮子中购买。
但是,我不确定是否有任何 SQL 语法可以让我简单地获取唯一的 shop_ids 和客户购物篮中这些商店的产品总数。所以我会得到类似的东西:
店铺 41 有 2 个产品
购买 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
关于sql - 如何使用SQL计算表中的唯一记录并获取这些唯一记录的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/237302/