sql - 我想在 SQL 选择语句中唯一标识每个列值,而不使用某些序列显示实际数据
问题描述
例如:我有一张桌子BILL_PRODUCT
product_vendor_id| product_site_id| type_of_product |
123 | 901 | Car
123 | 901 | Tyre
123 | 902 | Bike
124 | 801 | skateboard
123 | 901 | Car
.
.
.
产品vendor_id
和product_site_id
有一对多的关系。
我想写一个类似的选择语句
select product_vendor_id,product_vendor_site_id,type_of_product, count(1)
from PRODUCT where product_type is not hull
group by product_vendor_id,product_vendor_site_id,type_of_product
order by product_vendor_id,product_vendor_site_id;
在这里得到计数。但在我的选择语句中,我不希望我的product_vendor_id
andproduct_site_id
直接可见。我希望数据采用这种格式
product_vendor_id| product_site_id| type_of_product |count
1 1 car 2
1 1 tyre 3
1 2 bike 5
2 1 skateboard 1
.
.
你能帮我写 SELECT 查询吗?
解决方案
一种dense_rank()
用于生成新 ID 的选项:
select
dense_rank() over(order by product_vendor_id) new_product_vendor_id,
dense_rank() over(order by product_site_id) new_product_site_id,
product_type,
count(*)
from product
where product_type is not hull
group by product_vendor_id, product_site_id, product_type
推荐阅读
- amazon-web-services - “像这样启动”会在任何意义上干扰正在运行的实例?
- python - 有条件地替换 Pandas 列中的字符串
- python - 无法在 python 中使用 selenium webdriver 发送密钥
- java - 在可滚动的 JPanel 上绘制形状
- sql - IIF 语句 MS ACCESS VBA SQL
- curl - 具有相同名称的多个字段的 POST
- networking - Oracle 云上的外部 FDQN
- swift - 数组中的所有项目不在 UITableView 中
- visual-studio - 是否有任何扩展可以轻松编辑 Visual Studio (2017/2019) 主题颜色
- python - 如何在 python 中修改 Windrose 图的采样箱?