Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ดึงบันทึกของนักเรียนที่ประกาศผล 12 วันก่อนวันที่ปัจจุบันใน MYSQL


สำหรับสิ่งนี้ คุณต้องเปรียบเทียบและค้นหาความแตกต่างระหว่างวันที่ปัจจุบันกับวันที่ผลลัพธ์ของนักเรียน ซึ่งสามารถทำได้ด้วยตัวดำเนินการ AND พร้อมกับ DATEDIFF()

ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1547 -> ( -> StudentId int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(20), -> StudentMarks int, -> StudentResultDeclareDate datetime -> ); Query OK, 0 แถวได้รับผลกระทบ (0.55) วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงใน DemoTable1547(StudentName,StudentMarks,StudentResultDeclareDate) ค่า ('Chris',56,'2019-10-13 13:00:00') ->;Query OK, 1 แถวได้รับผลกระทบ (0.16 วินาที)mysql> แทรกลงใน DemoTable1547(StudentName,StudentMarks,StudentResultDeclareDate) ค่า ('Bob',60,'2019-10-13 12:00:00');Query OK, 1 แถวได้รับผลกระทบ (0.13 วินาที)mysql> แทรกลงใน DemoTable1547(StudentName) ,StudentMarks,StudentResultDeclareDate) ค่า ('Mike',45,'2019-10-13 14:00:00');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที)mysql> แทรกลงในค่า DemoTable1547 (StudentName,StudentMarks,StudentResultDeclareDate) ('Carol',78,'2019-10-01 14:00:00');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.11 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก * จาก DemoTable1547;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-----------+-------------+--------------+----- ------------------------------------+| รหัสนักศึกษา | ชื่อนักเรียน | StudentMarks | StudentResultDeclareDate |+-----------+-------------+--------------+------ --------------------+| 1 | คริส | 56 | 2019-10-13 13:00:00 || 2 | บ๊อบ | 60 | 2019-10-13 12:00:00 || 3 | ไมค์ | 45 | 2019-10-13 14:00:00 || 4 | แครอล | 78 | 2019-10-01 14:00:00 |+-----------+-------------+------------ --+--------------------------+4 แถวในชุด (0.00 วินาที)

วันที่ปัจจุบันเป็นดังนี้ −

mysql> เลือก curdate();+-----------+| curdate() |+-----------+| 2019-10-13 |+------------+1 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อดึงบันทึกของนักเรียนซึ่งประกาศผล 12 วันก่อนวันที่ปัจจุบัน -

mysql> เลือก * จาก DemoTable1547 โดยที่ datediff(curdate(),StudentResultDeclareDate)>=12 และ StudentMarks> 50;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-----------+-------------+--------------+----- ------------------------------------+| รหัสนักศึกษา | ชื่อนักเรียน | StudentMarks | StudentResultDeclareDate |+-----------+-------------+--------------+------ --------------------+| 4 | แครอล | 7 8 | 2019-10-01 14:00:00 |+-----------+-------------+------------ --+-------------------------- +1 แถวในชุด (0.00 วินาที)