Làm cách nào để có được dữ liệu thông minh trong ngày trong MySQL?

Trong bài viết này, chúng ta sẽ xem cách lấy dữ liệu hàng giờ trong Truy vấn MySQL. Nhiều lần chúng tôi cần lấy dữ liệu hàng giờ hoặc chúng tôi được yêu cầu lấy dữ liệu hàng giờ trong MySQL. Để nhận dữ liệu cho mỗi giờ trong MySQL, chúng tôi sử dụng hàm hour[]. MySQL giờ[] trả về giờ của một thời gian. Giá trị trả về nằm trong phạm vi từ 0 đến 23 đối với giá trị thời gian trong ngày

Vì vậy, hãy xem truy vấn SQL để lấy dữ liệu cho mỗi giờ hoặc truy vấn MySQL để nhận bản ghi thông minh theo giờ trong PHP và cách lấy dữ liệu theo giờ trong PHP từ cơ sở dữ liệu

Nhận dữ liệu khôn ngoan theo giờ bằng ví dụ về MySQL

Sử dụng truy vấn SQL để lấy dữ liệu mỗi giờ trong MySQL

id | order_date          | amount
---+---------------------+-------
 1 | 2022-09-29 08:15:00 | 150
 2 | 2022-09-29 08:30:00 | 200
 3 | 2022-09-29 08:55:00 | 300
 4 | 2022-09-29 09:20:00 | 400
 5 | 2022-09-29 10:45:00 | 450
 7 | 2022-09-29 11:50:00 | 200

Trong bảng của bạn, bản ghi cần giống như ngày và giờ

select hour[order_date], sum[amount]
       from users
       group by hour[order_date];

Nếu bạn muốn hiển thị các giá trị giờ bằng cách sử dụng ký hiệu AM/PM, chẳng hạn như 10 giờ sáng, 11 giờ sáng, 12 giờ chiều, v.v. thì bạn cần sử dụng hàm date_format cho phép bạn thay đổi định dạng của một ngày và giờ nhất định

Cơ sở dữ liệu của chúng tôi có một bảng tên là apartment_rental với dữ liệu trong các cột id, address, floorstart_date

idaddressfloorstart_date1700 Oak Street22019-03-202295 Main Street32019-05-313506 State Road12019-01-0343949 Tuyến đường 3112019-02-01

Đối với mỗi căn hộ có sẵn, hãy lấy địa chỉ, tầng và tháng khi căn hộ có sẵn. Chỉ lấy tháng từ cột start_date

Giải pháp

Chúng ta sẽ sử dụng hàm MONTH[]. Đây là truy vấn bạn sẽ viết

SELECT address,
       floor,
       MONTH[start_date]
         AS  start_month
FROM apartment_rental;

Đây là kết quả của truy vấn

addressfloorstart_month700 Oak Street23295 Main Street35506 State Road113949 Route 3112

Thảo luận

Sử dụng hàm MONTH[] để truy xuất một tháng từ cột ngày/ngày giờ/dấu thời gian trong MySQL. Hàm này chỉ nhận một đối số – có thể là biểu thức trả về giá trị ngày/ngày giờ/dấu thời gian hoặc tên của cột ngày/ngày giờ/dấu thời gian. [Trong ví dụ của chúng tôi, chúng tôi sử dụng cột start_date của kiểu dữ liệu ngày tháng]

MONTH[] trả về tháng dưới dạng số nguyên từ 1 đến 12 [1 là tháng 1 và 12 là tháng 12]. Trong ví dụ của chúng tôi, căn hộ tại 700 Oak Street sẽ bắt đầu cho thuê vào tháng thứ 3 vì ngày bắt đầu của căn hộ là apartment_rental1

Để lấy cột năm và tháng, hãy sử dụng hàm

SELECT
EXTRACT[YEAR_MONTH FROM date] AS year_and_month
FROM dates;
0. Trong giải pháp này, đối số bộ phận được thay thế bằng
SELECT
EXTRACT[YEAR_MONTH FROM date] AS year_and_month
FROM dates;
1 và
SELECT
EXTRACT[YEAR_MONTH FROM date] AS year_and_month
FROM dates;
2 để tách riêng yearmonth, mỗi cái trong cột riêng

Bạn có thể tìm hiểu thêm về

SELECT
EXTRACT[YEAR_MONTH FROM date] AS year_and_month
FROM dates;
5

Giải pháp 2

SELECT
EXTRACT[YEAR_MONTH FROM date] AS year_and_month
FROM dates;

Kết quả là

năm_và_tháng200804198712

Thảo luận

Giải pháp này hoạt động chính xác như giải pháp trước, nhưng

SELECT
EXTRACT[YEAR_MONTH FROM date] AS year_and_month
FROM dates;
6 được sử dụng để lấy năm và tháng cùng nhau trong một cột thay vì lấy chúng riêng biệt. Lưu ý rằng các giá trị của năm và tháng không được tách biệt với nhau

Giải pháp 3

SELECT
YEAR[date] AS year,
MONTH[date] AS month
FROM dates;

Kết quả là

nămtháng20084198712

Thảo luận

Lần này, các hàm

SELECT
EXTRACT[YEAR_MONTH FROM date] AS year_and_month
FROM dates;
7 và
SELECT
EXTRACT[YEAR_MONTH FROM date] AS year_and_month
FROM dates;
8 được sử dụng để tạo hai cột.
SELECT
EXTRACT[YEAR_MONTH FROM date] AS year_and_month
FROM dates;
7 trả về năm và
SELECT
EXTRACT[YEAR_MONTH FROM date] AS year_and_month
FROM dates;
8 trả về tháng dưới dạng số

Giải pháp 4

SELECT
YEAR[date] AS year,
MONTHNAME[date] AS month
FROM dates;

Kết quả là

nămtháng 2008tháng 4 năm 1987tháng 12

Thảo luận

Để lấy tên của tháng, hãy sử dụng hàm

SELECT
YEAR[date] AS year,
MONTH[date] AS month
FROM dates;
1. Kết quả hiển thị tên tháng thay vì số tháng

Giải pháp 5

SELECT
DATE_FORMAT[date, '%Y-%m'] AS year_and_month
FROM dates;

Kết quả là

năm_và_tháng2008-041987-12

Thảo luận

Sử dụng hàm

SELECT
YEAR[date] AS year,
MONTH[date] AS month
FROM dates;
2 để hiển thị các giá trị date ở định dạng cụ thể. Nó lấy date làm đối số đầu tiên và một chuỗi mô tả định dạng ngày mong muốn làm đối số thứ hai. Trong trường hợp của chúng tôi, chuỗi '
SELECT
YEAR[date] AS year,
MONTH[date] AS month
FROM dates;
5',
SELECT
YEAR[date] AS year,
MONTH[date] AS month
FROM dates;
6 trả về năm, '
SELECT
YEAR[date] AS year,
MONTH[date] AS month
FROM dates;
7' được sử dụng làm dấu phân cách và
SELECT
YEAR[date] AS year,
MONTH[date] AS month
FROM dates;
8 trả về tháng ở dạng số [có thể thay thế bằng
SELECT
YEAR[date] AS year,
MONTH[date] AS month
FROM dates;
9 để lấy tên tháng]

Làm cách nào để lấy dữ liệu ngày tháng khôn ngoan trong MySQL?

Trong MySQL, sử dụng hàm DATE[] để truy xuất ngày từ giá trị ngày giờ hoặc dấu thời gian . Hàm này chỉ nhận một đối số – có thể là biểu thức trả về giá trị ngày/ngày giờ/dấu thời gian hoặc tên của cột dấu thời gian/ngày giờ. [Trong ví dụ của chúng tôi, chúng tôi sử dụng một cột có kiểu dữ liệu dấu thời gian. ]

Làm cách nào để lấy dữ liệu ngày hiện tại trong MySQL?

Chúng ta có thể lấy ngày hôm nay trong MySQL bằng cách sử dụng hàm ngày tích hợp sẵn CURDATE[] . Hàm này trả về ngày ở định dạng 'YYYYMMDD' hoặc 'YYYY-MM-DD' tùy thuộc vào việc một chuỗi hoặc số được sử dụng trong hàm. Cả CURRENT_DATE và CURRENT_DATE[] đều là từ đồng nghĩa của hàm CURDATE[].

Làm thế nào để có được dữ liệu tuần một cách khôn ngoan trong MySQL?

Hàm WEEK[] trong MySQL dùng để tìm số tuần cho một ngày nhất định . Nếu ngày là NULL, hàm WEEK[] sẽ trả về NULL. Mặt khác, nó trả về giá trị của tuần nằm trong khoảng từ 0 đến 53. Ngày hoặc giờ mà chúng tôi muốn trích xuất tuần.

Làm cách nào để lấy dữ liệu hàng tháng trong MySQL?

Để nhóm dữ liệu theo tháng trong MySQL, hãy sử dụng hàm MONTH[] và YEAR[] . Hàm MONTH[] trích xuất số của tháng [1 cho tháng 1, 2 cho tháng 2, v.v. ] từ ngày. Hàm YEAR[] trích xuất năm từ ngày.

Làm cách nào để lấy tên ngày từ ngày trong MySQL?

MySQL Hàm DAYNAME[] .

Làm cách nào để lấy dữ liệu 24 giờ qua trong MySQL?

Trong truy vấn SQL ở trên, chúng ta sử dụng hàm hệ thống MySQL now[] để lấy ngày giờ hiện tại. Sau đó, chúng tôi sử dụng mệnh đề INTERVAL để chọn những hàng có order_date nằm trong vòng 24 giờ qua kể từ ngày giờ hiện tại. Thay vì chỉ định khoảng thời gian tính bằng giờ, bạn cũng có thể đề cập đến nó theo ngày.

Chủ Đề