我的数据如下:
org_id org_emp_id name day1 day2 day3 day4 day5 day6 day7 day8 day9 day10 day11 day12 day13 day14 day15 day16 day17 day18 day19 day20 day21 day22 day23 day24 day25 day26 day27 day28 day29 day30
'176' '1' 'New Org NO' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'P' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA'
'176' '1' 'New Org NO' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'P' 'NA' 'NA' 'NA' 'NA'
'176' '1' 'New Org NO' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'P' 'NA' 'NA' 'NA'
'176' '1' 'New Org NO' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'P' 'NA' 'NA'
我想要像::
这样的结果org_id org_emp_id name day1 day2 day3 day4 day5 day6 day7 day8 day9 day10 day11 day12 day13 day14 day15 day16 day17 day18 day19 day20 day21 day22 day23 day24 day25 day26 day27 day28 day29 day30
'176' '1' 'New Org NO' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'NA' 'P' 'NA' 'NA' 'NA' 'NA' 'NA' 'P' 'P' 'P' 'P' 'NA'
答案 0 :(得分:0)
在查询语句中使用DISTINCT, 例如: 从your_table中选择DISTINCT Id,名称,年龄
表示DISTINCT Id,它可以避免表格中出现重复的ID
答案 1 :(得分:0)
这不是删除重复项,因为第一个结果集中的所有记录都不是另一个记录的副本。您希望将所有字段的'P'
值合并为单个记录。您可以使用group by和max()函数来实现预期结果:
select org_id, org_emp_id, name, max(day1) as day1, ... , max(day30) as day30
from yourtable
group by org_id, org_emp_id, name
您需要在上述查询中列出所有dayN字段以代替...。如果对于dayN字段,所有值都是'N / A',则max()将返回'N / A'。如果存在'P'值,则max()将返回'P',因为字母P的字符代码高于N.