我有一个混合了空值和非空值的表,我想在迁移到其他源之前比较空值在表中的位置
mysql> select * from student2;
+------+---------+------------+
| id | name | address |
+------+---------+------------+
| 10 | Rams | NULL |
| 12 | Hari | NULL |
| 13 | Shyam | NULL |
| 14 | NULL | Hyderabad |
| | Revathy | Singapore |
我期望输出只有 Null 值的位置以及行号,即
Row Number 1 Column Number 3
Row Number 2 Column Number 3
Row Number 3 Column Number 3
Row Number 4 Column Number 1
Row Number 5 Column Number 1
最佳答案
我认为这个查询可以帮助您:
SELECT (SELECT COUNT(*)
FROM student2 si
WHERE si.id <= s.id) As RowNo,
CASE WHEN s.name IS NULL THEN 1
WHEN s.address IS NULL THEN 2
END As ColumnNo
FROM student2 s
WHERE COALESCE(s.name, s.address, '0') <> '0'
关于mysql - 给出 MySQL 表中 Null 值的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31129828/