已关闭,此问题需要details or clarity。目前不接受答复。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。
4天前关闭。
Improve this question
在一个表中,让字段1作为用户名,字段2作为ID。如果用户名相同,则id字段必须首先仅被提取一次,而不管用户名被提取的次数。下面的图片我添加了这个例子。
因此,无论何时出现相同的用户名,其ID必须出现在其相应用户名的第一行中。请让我知道这一点。
已关闭,此问题需要details or clarity。目前不接受答复。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。
4天前关闭。
Improve this question
在一个表中,让字段1作为用户名,字段2作为ID。如果用户名相同,则id字段必须首先仅被提取一次,而不管用户名被提取的次数。下面的图片我添加了这个例子。
因此,无论何时出现相同的用户名,其ID必须出现在其相应用户名的第一行中。请让我知道这一点。
1条答案
按热度按时间xmd2e60i1#
正如我在评论中所指出的,像这样格式化数据可能更好地在下游的消费系统中完成。
但是,您可能会执行以下操作:
你可以看到它在运行in this Fiddle。
row_number()
窗口函数将为每行分配一个数字,每组user
/id
从1开始(因为partition by
)。然后,case
使用该参数来确定要显示的内容。请注意,根据注解,我的原始解决方案仅保证每个
user
的一行将填充id
(不一定是第一行)。我在这篇文章中更新了我的解决方案ORDER BY "USER", id
和小提琴。我还把托尔斯滕·凯特纳的替补加入了小提琴。