Spaces:
Sleeping
Sleeping
| query = """ | |
| Bảng dữ liệu của người dùng: | |
| {prompt_user} \n . | |
| Hãy trình bày các yêu cầu lấy dữ liệu theo cấu trúc mẫu sau: | |
| Yêu cầu: Lấy thông tin chi tiết về các voucher đã được áp dụng cho các đơn hàng đã thanh toán thành công (nếu có). | |
| Mục đích: Phân tích việc sử dụng khuyến mãi từ voucher. | |
| Nguồn: Các đơn hàng đã thanh toán thành công (từ Yêu cầu 2, đặc biệt là cột voucher_id) và bảng voucher. | |
| Kết nối/Lọc: Kết nối các đơn hàng từ Yêu cầu 2 (mà có voucher_id IS NOT NULL) với bảng voucher thông qua voucher_id. | |
| Dữ liệu cần lấy: order_id, key_voucher, discount (giá trị của voucher), start_date, end_date, status (trạng thái của voucher). | |
| *** Đây là mẫu example toàn diện hãy tham khảo và tùy tình huống mà bạn sẽ thay đổi cách tiếp cận của các yêu cầu lấy data: | |
| <step_data> | |
| Yêu cầu 1: Lấy danh sách tất cả các đơn hàng của bạn đã được tạo trong tháng 4 năm [CURRENT_YEAR]. | |
| Mục đích: Tạo tập hợp ban đầu các đơn hàng có tiềm năng cho phân tích. | |
| Nguồn: Bảng orders. | |
| Lọc: user_id = [ID người dùng của bạn] | |
| Năm của order_date hoặc date_created là [CURRENT_YEAR] (Tôi sẽ ưu tiên order_date nếu có dữ liệu thực tế, nếu không thì dùng date_created). | |
| Tháng của order_date hoặc date_created là 4. | |
| is_deleted = FALSE (Không lấy các đơn hàng đã bị xóa logic). | |
| Dữ liệu cần lấy: order_id, order_date (hoặc date_created), total_price (tổng tiền sản phẩm trước phí ship/giảm giá), delivery_fee, discount_price (giảm giá từ voucher/khác), point_coin_use, voucher_id, status (trạng thái đơn hàng). | |
| </step_data> | |
| <step_data> | |
| Yêu cầu 2 : Từ danh sách đơn hàng ở Yêu cầu 1, xác định những đơn hàng nào đã được thanh toán thành công. | |
| Mục đích: Chỉ phân tích các giao dịch thực sự đã hoàn thành và chi tiền. | |
| Nguồn: Kết quả từ Yêu cầu 1 và bảng payments. | |
| Kết nối/Lọc: Kết nối kết quả từ Yêu cầu 1 với bảng payments thông qua order_id. | |
| Chỉ giữ lại các bản ghi từ bảng payments có status = 'COMPLETED'. | |
| Chỉ giữ lại các bản ghi từ Yêu cầu 1 mà có bản ghi payments tương ứng với status = 'COMPLETED'. | |
| Dữ liệu cần lấy: Tất cả các cột từ Yêu cầu 1 cho các đơn hàng đã thanh toán thành công, cộng thêm payment_id, amount (số tiền thanh toán cuối cùng), payment_method, status (của thanh toán) từ bảng payments. | |
| Kết quả quan trọng: Một danh sách cuối cùng các order_id của các đơn hàng đã thanh toán thành công trong tháng 4. Đây là tập dữ liệu chính cho các phân tích sâu hơn. | |
| </step_data> | |
| <step_data> | |
| Yêu cầu 3: Lấy chi tiết các sản phẩm (item) có trong các đơn hàng đã thanh toán thành công (đã xác định ở Yêu cầu 2). | |
| Mục đích: Biết bạn đã mua những gì, số lượng bao nhiêu, giá tiền của từng mặt hàng. | |
| Nguồn: Kết quả từ Yêu cầu 2 và bảng order_item. | |
| Kết nối/Lọc: Kết nối danh sách order_id từ Yêu cầu 2 với bảng order_item thông qua order_id. | |
| Chỉ giữ lại các bản ghi từ order_item có is_deleted = FALSE. | |
| Dữ liệu cần lấy: order_item_id, order_id (để liên kết lại đơn hàng), pro_id, quantity, total_price (tổng tiền cho item này), size, note. | |
| </step_data> | |
| <step_data> | |
| Yêu cầu 4 : Bổ sung thông tin chi tiết về sản phẩm và danh mục cho các item đã lấy ở Yêu cầu 3.(Yêu cầu này luôn luôn có khi thực hiện) | |
| Mục đích: Có thể phân tích dựa trên tên sản phẩm và tên danh mục (thay vì chỉ ID). | |
| Nguồn: Kết quả từ Yêu cầu 3, bảng product, và bảng category. | |
| Kết nối: Kết nối kết quả từ Yêu cầu 3 với bảng product thông qua pro_id (từ order_item và product). | |
| Kết nối kết quả đó với bảng category thông qua category_id (từ product) và cate_id (từ category). | |
| Dữ liệu cần lấy: Tất cả các cột từ Yêu cầu 3, cộng thêm pro_name (từ product), cate_id, cate_name (từ category). (Có thể cần cân nhắc bảng product_translation/category_translation nếu cần tên theo ngôn ngữ cụ thể). | |
| </step_data> | |
| <step_data> | |
| Yêu cầu 5: Lấy thông tin chi tiết về các voucher đã được áp dụng cho các đơn hàng đã thanh toán thành công (nếu có). | |
| Mục đích: Phân tích việc sử dụng khuyến mãi từ voucher. | |
| Nguồn: Các đơn hàng đã thanh toán thành công (từ Yêu cầu 2, đặc biệt là cột voucher_id) và bảng voucher. | |
| Kết nối/Lọc: Kết nối các đơn hàng từ Yêu cầu 2 (mà có voucher_id IS NOT NULL) với bảng voucher thông qua voucher_id. | |
| Dữ liệu cần lấy: order_id, key_voucher, discount (giá trị của voucher), start_date, end_date, status (trạng thái của voucher). | |
| </step_data> | |
| <step_data> | |
| Yêu cầu 6 : Lấy thông tin về phương thức thanh toán đã dùng. | |
| Mục đích: Hiểu cách bạn thanh toán cho các đơn hàng. | |
| Nguồn: Các bản ghi thanh toán đã xác định ở Yêu cầu 2 (từ bảng payments). | |
| Dữ liệu cần lấy: order_id, payment_method. | |
| </step_data> | |
| *** | |
| ## Hãy tham khảo mẫu trên và tùy tình huống hãy làm tuong tự như vậy để lấy ra các yêu cầu lấy data. | |
| ### Hãy gom các yêu cầu lấy data sao cho hợp lý. chỉ tầm 5-6 yêu cầu là đủ. | |
| ### Hãy nhớ là nếu phân tính mua sắm trong tháng, năm mà không đề cập so sánh gì cả thì mặc định bạn sẽ so sánh so với tháng trước đó. | |
| ### Các yêu cầu lấy dữ liệu cần được trình bày rõ ràng. | |
| Hãy giả sử bạn là một chuyên gia trong lĩnh vực Data Analyst. Bây giờ tôi muốn bạn thực hiện câu hỏi là: {question}. | |
| **Chỉ tạo tầm 5-6 bước(step) không dduocjwj phép tạo nhiều step quá 6**. | |
| Vậy thì bạn sẽ làm thế nào để từ việc lấy dữ liệu tới phân tích hãy trình bày rõ và ngoài ra trong bước lấy dữ liệu bạn sẽ có những câu hỏi nào để lấy dữ liệu trong MySQL. Nếu viết thành yêu cầu và đánh số bạn sẽ viết nó thành yêu cầu nhu thế nào. Trình bày rõ ràng các bước và lưu ý mỗi bước bạn nhóm vào tag <step> để đánh dấu cho mình. | |
| Quan trong các bước để lấy data đều nằm trong <step_data>. | |
| Hãy chú ý các tham số sau: nếu không có tháng, năm thì bạn sẽ lấy tất cả các tháng, năm trong bảng dữ liệu. | |
| Khi phân tích mua sắm luôn có yêu cầu lấy chi tiết các sản phẩm họ đã mua. | |
| Nếu không có ngày thì bạn sẽ lấy tất cả các ngày trong tháng. | |
| ### Hãy lưu ý các điều sau đây: | |
| ** Nếu bạn làm theo câu sql trên bạn sẽ nhận lỗi vì order_item không có pro_id mà chỉ có order_item_id, order_id, quantity, total_price, size, note. | |
| **Tránh các lỗi sau đây: ** Khi xây d | |
| (1054, "Unknown column 'oi.pro_id' in 'field list'") | |
| (1054, "Unknown column 'oi.pro_id' in 'field list'") | |
| (1054, "Unknown column 'oi.note' in 'field list'") | |
| (1054, "Unknown column 'oi.size' in 'field list'") | |
| (1054, "Unknown column 'c.is_deleted' in 'on clause'") | |
| ** | |
| **Vui lòng không check lại các câu sql này vì nó đã được kiểm tra và chạy thành công trên hệ thống của tôi. Tức là bạn không cần cái check is_deleted chỗ này | |
| AND oi.is_deleted = 0 | |
| AND ci.is_deleted = 0 | |
| AND pv.is_deleted = 0 | |
| AND p.is_deleted = 0 | |
| AND cat.is_deleted = 0; | |
| c.is_deleted = 0 | |
| ** | |
| """ | |