将 1 个任意行指定为每组的主要行
我有一个包含三列的表,
foo_id | bar_id | is_primary
现在导入大量记录后,id 对都在其中,但 is_primary
到处都是 0,我需要为每个 foo_id
分配 1 任意行代码> as is_primary
= 1?
foo_id | bar_id 是主唯一键,但是 foo_id 和 bar_id 都可以出现多次
I have a table with three columns,
foo_id | bar_id | is_primary
Now after importing a huge amount of records the id pairs are all in but the is_primary
is 0 everywhere, I need to assign 1 arbitrary row per foo_id
as is_primary
= 1?
foo_id | bar_id are the primary unique keys, however both foo_id and bar_id can appear multiple times
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
假设所有
(foo_id, bar_id)
对都是唯一的,并且is_primary
被限制为 0 或 1(即没有其他值或 NULL),您可以确定,例如,每个foo_id
值的最小bar_id
值,并将相应行的is_primary
设置为 1:Assuming all the
(foo_id, bar_id)
pairs are unique andis_primary
is restricted to have either 0 or 1 (i.e. no other values or NULLs), you could determine, for example, the minimumbar_id
value for everyfoo_id
value and setis_primary
to 1 for the corresponding rows:假设
(foo_id,bar_id)
是唯一的,您可以使用notists
子句来过滤每个foo_id 的
bar_id
的最高值:Assuming that
(foo_id,bar_id)
is unique, you could use anot exists
clause to filter the highest value ofbar_id
perfoo_id
: