Tôi có hai bảng cụ thể là việc làm
Và công ty
Định dạng như sau:
Bảng 1 Hoạt động
công ty_tên công việc_tiêu đề danh mục công việc_posted_date
============ ========================================= =====
Việc làm của nhà phát triển ibm xamarin it 26-09-2018
tech mahindra php nhà phát triển it việc làm 27-09-2018
Việc làm của nhà phát triển java milkyway it 15-08-2018
表2 công ty
công ty_tên công ty_logo
============= =============
ibm logo_ibm.png
logo công nghệ mahindra_tech.png
logo milkyway_milkyway.png
Truy vấn của tôi là:
CHỌN công ty.company_logo, post_jobs.company_name, jobs.job_title, jobs.job_posted_date
TỪ công ty
Việc làm INNER JOIN
trên jobs.company_name = company.company_name
WHERE jobs.category = 'it Jobs' và (jobs.job_posted_date trong khoảng '01-09-2018' đến '01-10-2018')
ĐẶT HÀNG THEO jobs.job_posted_date desc
Khi tôi nhấp vào truy vấn này và tìm thấy 09-01-2018
đến 01-10-2018
Nó không hiển thị dữ liệu giữa hai ngày. Vậy làm cách nào để giải quyết vấn đề này? Xin hãy giúp tôi.
Cảm ơn
tôi đã tìm thấy của bạn việc_đăng_ngày
Có vấn đề với cột. Có thể bạn đang lưu trữ ngày văn bản ở đó. Giả sử không phải vậy và đó là cột ngày thực, bạn có thể thử truy vấn này:
SELECT
c.company_logo,
j.tên_công ty,
j.job_title,
j.job_posted_date
TỪ công ty c
Việc làm INNER JOIN j
TRÊN j.company_name = c.company_name
WHERE
j.category = 'việc làm' VÀ
j.job_posted_date GIỮA '2018-09-01' VÀ '2018-10-01'
ORDER BY
j.job_posted_date DESC;
Lưu ý rằng tôi đang so sánh với các ký tự ngày tháng hợp lệ của MySQL, ví dụ: '2018-09-01
'. Định dạng bạn sử dụng không hợp lệ.
nếu như việc_đăng_ngày
Cột thực sự là DD-MM-YYYY
bản ghi định dạngchữ ngày, thì bạn phải sử dụngSTR_TO_DATE
Đầu tiên chuyển đổi chúng:
SELECT
c.company_logo,
j.tên_công ty,
j.job_title,
j.job_posted_date
TỪ công ty c
Việc làm INNER JOIN j
TRÊN j.company_name = c.company_name
WHERE
j.category = 'việc làm' VÀ
STR_TO_DATE(j.job_posted_date, '%d-%m-%Y') GIỮA '2018-09-01' VÀ '2018-10-01'
ORDER BY
j.job_posted_date DESC;
Ý nghĩa của câu chuyện là luôn sử dụng cột ngày chính xác khi lưu trữ thông tin ngày trong MySQL. Và luôn so sánh các chữ ngày/giờ hợp lệ với các cột này.
Tôi là một lập trình viên xuất sắc, rất giỏi!