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

MySQL GROUP BY วันที่เมื่อใช้ datetime?


สำหรับ GROUP BY date ขณะใช้ datetime ต่อไปนี้คือ syntax −

เลือก *จาก yourTableName GROUP BY date(yourColumnName);

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง groupByDateDemo -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> ชื่อผู้ใช้ varchar(20), -> UserPostDatetime datetime -> ); สืบค้นตกลง 0 แถวได้รับผลกระทบ (0.53 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −

mysql> แทรกลงใน groupByDateDemo(UserName,UserPostDatetime) values('Larry','2018-01-02 13:45:40');Query OK, 1 แถวที่ได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงใน groupByDateDate(ชื่อผู้ใช้) ,UserPostDatetime) ค่า ('Mike','2018-01-02 13:45:40'); แบบสอบถามตกลง, 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงใน groupByDateDemo (ชื่อผู้ใช้, UserPostDatetime) ค่า ('Sam',' 2019-01-28 12:30:34 ');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.33 วินาที) mysql> แทรกลงในค่า groupByDateDemo (ชื่อผู้ใช้ UserPostDatetime) ('David','2019-02-10 11:35:54 น. ');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.18 วินาที)mysql> แทรกลงในค่า groupByDateDemo(ชื่อผู้ใช้ UserPostDatetime) ('Maxwell','2019-02-10 11:35:54');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว ( 0.21 วินาที)

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

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

นี่คือผลลัพธ์ -

<ก่อนหน้า>+----+----------+---------------------+| รหัส | ชื่อผู้ใช้ | UserPostDatetime |+----+----------+---------------------+| 1 | แลร์รี่ | 2018-01-02 13:45:40 || 2 | ไมค์ | 2018-01-02 13:45:40 || 3 | แซม | 2019-01-28 12:30:34 || 4 | เดวิด | 2019-02-10 11:35:54 || 5 | แม็กซ์เวลล์ | 2019-02-10 11:35:54 |+-----------+----------+---------------------------+ 5 แถวในชุด (0.00 วินาที)

ให้เราจัดกลุ่มตามวันที่ในขณะที่ใช้ datetime แบบสอบถามมีดังนี้ −

mysql> เลือก *จาก groupByDateDemo GROUP BY date(UserPostDatetime);

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+----+----------+---------------------+| รหัส | ชื่อผู้ใช้ | UserPostDatetime |+----+----------+---------------------+| 1 | แลร์รี่ | 2018-01-02 13:45:40 || 3 | แซม | 2019-01-28 12:30:34 || 4 | เดวิด | 2019-02-10 11:35:54 |+-----------+----------+---------------------------+ 3 แถวในชุด (0.00 วินาที)