SQL在一行中选择第一个值,然后将该值插入另一列

父亲

我对sql不太好,所以不确定是否可行。甚至在Excel中?我试图选择第一个值,并忽略Product_ID中的重复项,然后将该行的第一个值添加到“标题”列。

另请注意,我的产品清单超过25,000多种产品。

因此,请采取以下措施:

+---------------+------------+-------+-------------+-------+
| Product_Count | Product_ID | Title | _Color_Name | _Size |
+---------------+------------+-------+-------------+-------+
| 2             | 14589      |       | Black       | 00    |
| 3             | 14589      |       | Black       | 0     |
| 4             | 14589      |       | Black       | 2     |
| 5             | 14589      |       | Black       | 4     |
| 6             | 14589      |       | Black       | 6     |
| 11            | 14589      |       | Dark Coral  | 00    |
| 12            | 14589      |       | Dark Coral  | 0     |
| 13            | 14589      |       | Dark Coral  | 2     |
| 14            | 14589      |       | Dark Coral  | 4     |
| 15            | 14589      |       | Dark Coral  | 6     |
| 129           | 15027      |       | Aqua        | 00    |
| 130           | 15027      |       | Aqua        | 0     |
| 131           | 15027      |       | Aqua        | 2     |
| 132           | 15027      |       | Aqua        | 4     |
| 133           | 15027      |       | Aqua        | 6     |
| 138           | 15027      |       | Black       | 00    |
| 139           | 15027      |       | Black       | 0     |
| 140           | 15027      |       | Black       | 2     |
| 141           | 15027      |       | Black       | 4     |
| 142           | 15027      |       | Black       | 6     |
+---------------+------------+-------+-------------+-------+

并将其转换为:

+---------------+------------+-------+-------------+-------+
| Product_Count | Product_ID | Title | _Color_Name | _Size |
+---------------+------------+-------+-------------+-------+
| 2             | 14589      | 14589 | Black       | 00    |
| 3             | 14589      |       | Black       | 0     |
| 4             | 14589      |       | Black       | 2     |
| 5             | 14589      |       | Black       | 4     |
| 6             | 14589      |       | Black       | 6     |
| 11            | 14589      |       | Dark Coral  | 00    |
| 12            | 14589      |       | Dark Coral  | 0     |
| 13            | 14589      |       | Dark Coral  | 2     |
| 14            | 14589      |       | Dark Coral  | 4     |
| 15            | 14589      |       | Dark Coral  | 6     |
| 129           | 15027      | 15027 | Aqua        | 00    |
| 130           | 15027      |       | Aqua        | 0     |
| 131           | 15027      |       | Aqua        | 2     |
| 132           | 15027      |       | Aqua        | 4     |
| 133           | 15027      |       | Aqua        | 6     |
| 138           | 15027      |       | Black       | 00    |
| 139           | 15027      |       | Black       | 0     |
| 140           | 15027      |       | Black       | 2     |
| 141           | 15027      |       | Black       | 4     |
| 142           | 15027      |       | Black       | 6     |
+---------------+------------+-------+-------------+-------+
斯图尔特

您可以使用PARTITION来窗口化ProductIds,然后使用以下命令标识每个分区的第一行ROW_NUMBER()

SELECT 
  ProductID, 
  Product_Count, 
  CASE WHEN rn = 1 THEN ProductID else null END AS Title, 
  Color_Name, 
  Size
FROM
(
    SELECT ProductID, Product_Count, Color_Name, Size,
    ROW_NUMBER() OVER (PARTITION BY ProductID ORDER BY Product_Count) AS rn
    FROM product_stock
) AS X;

SqlFiddle在这里

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据第二个表的另一个值(sql)在第一个表中选择一个值

来自分类Dev

如何在SQL Server中选择第一个插入的行?

来自分类Dev

SQL-从一列中选择唯一值,然后根据另一列进行过滤

来自分类Dev

创建视图,在一个列中选择与另一列相关的最大值

来自分类Dev

熊猫groupby并减去一列的最后一个值与另一列的第一个值

来自分类Dev

从SQL表的列表中选择第一个匹配的字符串值

来自分类Dev

识别pyspark中列值的第一个出现的对象,然后基于该值递增另一列

来自分类Dev

如何在html代码中选择第一个表格的最后一行?

来自分类Dev

在另一列内的一组行中选择列的第一行

来自分类Dev

根据索引从一列中选择第一个值,从第二列中选择最后一个值

来自分类Dev

在列上选择MAX,然后从列中选择取决于第一个值的MAX

来自分类Dev

SQL在一行中选择第一个值,然后将该值插入另一列

来自分类Dev

如何在SQL Server存储过程中选择第一个ID的值?

来自分类Dev

在一个列中找到与另一列匹配的值,然后将该值放入第三列(Excel 2010)

来自分类Dev

如何从外壳中的一行中的一列中的最后一个值中减去第一个值?

来自分类Dev

如何在SQL Server中选择第一个插入的行?

来自分类Dev

SQL-从一列中选择唯一值,然后根据另一列进行过滤

来自分类Dev

创建视图,在一个列中选择与另一列相关的最大值

来自分类Dev

根据另一列中的匹配值和第三列中的第一个值的不同出现,对一列中的值求和

来自分类Dev

如何在data.table的列中选择第一个逗号分隔的值?

来自分类Dev

SQL选择在另一列中具有至少一个特定值的所有非唯一行

来自分类Dev

SQL如何基于另一列中的值在一行中多次选择列

来自分类Dev

如何从电话号码中选择第一个或最后一个值?

来自分类Dev

在sql的xml列中选择第一个<field>的值

来自分类Dev

如何在第一行中选择第一个制表符分隔的列?

来自分类Dev

简单的 VBA 从第一个 .Find 值中选择一个范围?

来自分类Dev

Python pandas:如何从特定列中选择第一个非“无”值?

来自分类Dev

比较同一行的两列,以获得不匹配的第一个值

来自分类Dev

迭代列并将该列的每一行值与 Pandas 中另一列的值进行比较

Related 相关文章

  1. 1

    根据第二个表的另一个值(sql)在第一个表中选择一个值

  2. 2

    如何在SQL Server中选择第一个插入的行?

  3. 3

    SQL-从一列中选择唯一值,然后根据另一列进行过滤

  4. 4

    创建视图,在一个列中选择与另一列相关的最大值

  5. 5

    熊猫groupby并减去一列的最后一个值与另一列的第一个值

  6. 6

    从SQL表的列表中选择第一个匹配的字符串值

  7. 7

    识别pyspark中列值的第一个出现的对象,然后基于该值递增另一列

  8. 8

    如何在html代码中选择第一个表格的最后一行?

  9. 9

    在另一列内的一组行中选择列的第一行

  10. 10

    根据索引从一列中选择第一个值,从第二列中选择最后一个值

  11. 11

    在列上选择MAX,然后从列中选择取决于第一个值的MAX

  12. 12

    SQL在一行中选择第一个值,然后将该值插入另一列

  13. 13

    如何在SQL Server存储过程中选择第一个ID的值?

  14. 14

    在一个列中找到与另一列匹配的值,然后将该值放入第三列(Excel 2010)

  15. 15

    如何从外壳中的一行中的一列中的最后一个值中减去第一个值?

  16. 16

    如何在SQL Server中选择第一个插入的行?

  17. 17

    SQL-从一列中选择唯一值,然后根据另一列进行过滤

  18. 18

    创建视图,在一个列中选择与另一列相关的最大值

  19. 19

    根据另一列中的匹配值和第三列中的第一个值的不同出现,对一列中的值求和

  20. 20

    如何在data.table的列中选择第一个逗号分隔的值?

  21. 21

    SQL选择在另一列中具有至少一个特定值的所有非唯一行

  22. 22

    SQL如何基于另一列中的值在一行中多次选择列

  23. 23

    如何从电话号码中选择第一个或最后一个值?

  24. 24

    在sql的xml列中选择第一个<field>的值

  25. 25

    如何在第一行中选择第一个制表符分隔的列?

  26. 26

    简单的 VBA 从第一个 .Find 值中选择一个范围?

  27. 27

    Python pandas:如何从特定列中选择第一个非“无”值?

  28. 28

    比较同一行的两列,以获得不匹配的第一个值

  29. 29

    迭代列并将该列的每一行值与 Pandas 中另一列的值进行比较

热门标签

归档