我有一张表存储问题 1 - 16 和用户给出的答案,并按他们的唯一 ID 分组。例如:
+--------+-----------------+--------+
| number | question_number | answer |
+--------+-----------------+--------+
| 1 | 1 | y |
+--------+-----------------+--------+
| 1 | 2 | n |
+--------+-----------------+--------+
| 1 | 3 | y |
+--------+-----------------+--------+
| 2 | 1 | n |
+--------+-----------------+--------+
| 2 | 3 | y |
+--------+-----------------+--------+
我想要的是一个 SELECT 或 INSERT,它将填充序列中缺失的值。因此,在“数字”2 的情况下,它将填写 question_number 2 并为答案插入一个空值。所以基本上我想填补重复序列的空白(在我的例子中,1-3)
最佳答案
您可以使用交叉连接
和左连接
来做到这一点:
select n.number, qn.question_number, q.answer
from (select distinct number from questions) n cross join
(select distinct question_number from questions) qn left join
questions q
on q.number = n.number and q.question_number = qn.question_number;
关于mysql - 填补mysql中重复序列中的空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38297932/