当前位置: 首页 > 知识库问答 >
问题:

如何避免结果集中的重复值?

张坚白
2023-03-14

创建表student(s_idint(10)不为空AUTO_INCREMENT,s_roll_noint(30),s_namevarchar(30),s_gendervarchar(4)不为空,classint(2)不为空,主键(s_id));

创建表attendance_date(date_todayvarchar(10),主键(date_today));

创建表attendance_today(s_idint(10),s_roll_noint(30),s_namevarchar(30),s_gendervarchar(4),classint(2), varchar(10), attendance_statusvarchar(2)not null默认'p');

分隔符$$

为每行在attendance_date上插入后创建触发器after_inserthtml" target="_blank">ion_into_attendance_date

begin 

insert into attendance_today(s_id, s_roll_no, s_name, s_gender, class, date_today)
select * from student cross join attendance_date order by date_today, s_id;

end$$

定界符;

student中插入值(1,1,“Mridul Kumar”,“M”,1),(2,2,“Harish Paul”,“M”,1),(3,3,“Imtiaz Hossain”,“M”,1);

插入attendance_date值('1日')、('2日');

现在,选择*from attendance_today;每次插入后都给出重复,有没有办法在触发器内部避免重复?我不是在寻找select distinct*from attendance_today;在触发器被激活后。

共有2个答案

郎华皓
2023-03-14

这将防止插入重复的值

insert into attendance_today(s_id, s_roll_no, s_name, s_gender, class, date_today)
select * 
from student cross join attendance_date ad
WHERE NOT EXISTS ( 
    SELECT null FROM attendance_today at
    WHERE ad.s_id = at.s_id and ad.date_today = at.date_today
)
order by date_today, s_id;

```
徐涵亮
2023-03-14

试试看:

begin 

insert into attendance_today(s_id, s_roll_no, s_name, s_gender, class, date_today)
select * from student cross join attendance_date group by s_id order by date_today, s_id;

end$$
 类似资料:
  • 钱箱类: 商户类: 输入数据: 我的任务 计算每个商家的总金额并返回商家列表 我正在尝试使用Stream API解决这个任务。并编写了以下代码: 结果 但显然,流返回四个对象,而不是所需的两个对象。我意识到,地图(第二行)为每个cashBoxId创建了四个对象。而且我不知道如何通过进行过滤,也不知道如何获得没有重复的结果。

  • 我使用for循环将学生详细信息添加到ArrayList。当我给第二个学生提供详细信息时,它会覆盖第一个数据。螺柱类 将数据添加到ArrayList的主类。 输出:第二个数据[2,2]后的实际输出辊数[1]。预期输出应为卷号: A1姓名: F1 L1性别:男性年龄: 11体育赛事:标枪 报名号:A2姓名:F2 L2性别:女年龄:14体育项目:100米跑 报名号:A3姓名:F3 L3性别:男性年龄:1

  • 我有一个简单的项目,该项目将个人信息提供给数据库(sqlite),现在我想避免插入重复值(按名称),我不能做什么?谢谢你们

  • 我使用xsl:result-document将输入XML文件拆分为多个子文档。当我的转换在输入文件上的一个大数组上运行时,两个输入“有数据”,因此xsl:result document会尝试创建同一个输出文件两次,从而出错。 理想情况下,我只想创建第二个文档,在文件扩展名之前添加“_2”。我是XSL 2.0的新手,无法想象如何实现这一点。如果有一个全局数组(更像是一个映射),可以保存文档中使用的每

  • 我有下一个示例代码: 你可以看到id是JSON格式中的一个重复字段,我知道PostgreSQL有一些功能可以避免这个问题,但我找不到。

  • 问题内容: 我正在尝试在两个数据帧之间合并。每个数据帧都有两个索引级别(日期,客户)。在列中,例如,某些列在两者之间匹配(货币,日期)。 按索引合并这些内容的最佳方法是什么,但不要采用两个副本的货币和日期。 每个数据框都是90列,所以我试图避免用手将所有内容写出来。 如果我做: 我懂了 谢谢!… 问题答案: 您可以算出仅在一个DataFrame中的列,并使用它来选择合并中列的子集。 然后执行合并(