【发布时间】:2020-09-12 09:01:50
【问题描述】:
我想知道是否有一种方法可以选择满足某个条件的所有groupID(列名)。
例如如果我想查找用户 2 的级别大于 0 的所有组,它将返回 (1,2,4)
值得注意的是它不能手动完成,因为大约有 5000 行和 120 列
感谢您的帮助!
【问题讨论】:
-
除了用户是组的成员之外,列值是否还有其他含义 - 例如用户 id = 2 第 2 列中的 3 是什么意思
-
每个条件的use CaseWhen语句
-
恕我直言,这是做你想做的事情的错误方法。 SQL 旨在处理您的关联表问题,每个组/用户组合都有一行。使用适当的索引,即使它们包含超大行,它也可以毫不费力地处理关联表。另一方面,您的设计将需要在您学习时进行噩梦般的查询。如果您需要每天添加一个新组并持续数百天怎么办?
-
P.Salmon 不同的数字代表不同的角色,这将决定特权等
-
O.Jones 感谢您的建议,我认为我会这样做
标签: mysql sql where-clause unpivot