Computer >> Máy Tính >  >> Lập trình >> MySQL

MySQL chọn ngày riêng biệt từ cột ngày giờ trong bảng?

Bạn cần sử dụng từ khóa DISTINCT để chọn các ngày riêng biệt từ cột ngày giờ trong bảng.

Ví dụ:chúng ta hãy tạo một bảng

mysql> create table PostMesssageDemo
   - > (
   - > UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   - > UserMessage varchar(100),
   - > UserPost datetime
   - > );
Query OK, 0 rows affected (0.60 sec)

Bây giờ bạn có thể chèn một số bản ghi trong bảng bằng lệnh insert.

Truy vấn như sau

mysql> insert into PostMesssageDemo(UserMessage,UserPost) values('Software Developer',now());
Query OK, 1 row affected (0.17 sec)
mysql> insert into PostMesssageDemo(UserMessage,UserPost) values('Software Developer',date_add(now(),interval 3 month));
Query OK, 1 row affected (0.16 sec)
mysql> insert into PostMesssageDemo(UserMessage,UserPost) values('Software Developer',now());
Query OK, 1 row affected (0.12 sec)
mysql> insert into PostMesssageDemo(UserMessage,UserPost) values('Software Developer','2019-03-31 17:30:34');
Query OK, 1 row affected (0.10 sec)

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select.

Truy vấn như sau

mysql> select *from PostMesssageDemo;

Sau đây là kết quả

+--------+--------------------+---------------------+
| UserId | UserMessage        | UserPost            |
+--------+--------------------+---------------------+
|      1 | Software Developer | 2019-02-15 18:07:27 |
|      2 | Software Developer | 2019-05-15 18:09:18 |
|      3 | Software Developer | 2019-02-15 18:09:31 |
|      4 | Software Developer | 2019-03-31 17:30:34 |
+--------+--------------------+---------------------+
4 rows in set (0.00 sec)

Sau đây là truy vấn để lấy các ngày riêng biệt

mysql> select distinct year(UserPost),month(UserPost) from PostMesssageDemo;

Đây là kết quả

+----------------+-----------------+
| year(UserPost) | month(UserPost) |
+----------------+-----------------+
|           2019 |               2 |
|           2019 |               5 |
|           2019 |               3 |
+----------------+-----------------+
3 rows in set (0.00 sec)