如何在 SQL 中的物化视图左侧添加序列?

How can I add a sequence to the left of a materialized view in SQL?

我有一个物化视图如下:

|product_type|
--------------
shoes
clothing
electronics
..100's more

我想以一种让每种产品类型都有相应 ID 的方式创建视图。所以视图应该如下所示:

| ID | product_type|
--------------------
1   | shoes
2   | clothing
3   | electronics
100 | ..100's more

SQL 用于创建视图的是:

select distinct(product_type) from items

您可以使用 row_number():

select row_number() over (order by product_type) as my_id

但是,如果您需要每个 product_type 的唯一编号——随着时间的推移是 stable——我建议在“产品”中使用 identity 列类型”table.

对于你的具体例子,我建议:

select row_number() over (order by product_type), product_type
from items
group by product_type;

我想你需要不同的 product_type 然后你想要序列号。

使用以下查询:

Select product_type,
       row_number() over (order by product_type) row_num
  From (Select distinct product_type
          From items) t