我有一个列为eff_date
、name
、id
、balance
的表
| 生效日期|名称|身份证|天平|
| --------------|--------------|--------------|--------------|
| 1402/01/01|简体中文|一个|二十万|
| 1402/01/01|简体中文|拖|十八万|
| 1402/01/01|کوتاه مدت|三|二十万|
| 1402/01/01|简体中文|四|十八万|
| 1402/01/02|注意事项|五|十五万|
| 1402/01/02|注意事项|六|十八万|
| 1402/01/03|简体中文|七|二十万|
| 1402年1月3日|简体中文|八|二十八万|id
是自动递增的,但我们有2个记录为每个分区的eff_date
。在表中重复发生在行3和4,所以我想在最后的表tbl_qry
消除行1,2否则max(id)
在每个分区的eff_date
时,我们有一个重复,然后插入行3,4,5,6,7,8。
就像这样:
| 生效日期|名称|身份证|天平|
| --------------|--------------|--------------|--------------|
| 1402/01/01|کوتاه مدت|三|二十万|
| 1402/01/01|کوتاه مدت|四|十八万|
| 1402/01/02|注意事项|五|十五万|
| 1402/01/02|注意事项|六|十八万|
| 1402年1月3日|简体中文|七|二十万|
| 1402年1月3日|简体中文|八|二十八万|
我想写一个程序。这个解决方案的最佳想法是什么?
2条答案
按热度按时间xzlaal3s1#
您可以使用
group by
和Max()
执行此操作vfhzx4xs2#
(Date格式为
YYYY/MM/DD
)。样本数据:
(我假设ID不是一个数字的真正的 word 表示,也就是说不是“one”而是
1
,正如你所说的,它是自动递增的。即使它是,下面的查询也是一样的)。删除重复项:
结果: