Kết quả trả về của query SQL bị thừa 1 dòng query

SELECT CONCAT(NAME,"","(",LEFT(OCCUPATION,1),")") 
FROM OCCUPATIONS 
ORDER BY NAME;
SELECT CONCAT("there are a total of"," ",COUNT(OCCUPATION)," ", LCASE(OCCUPATION),"s.") FROM OCCUPATIONS 
GROUP BY OCCUPATION
ORDER BY COUNT(OCCUPATION);

Đây là 1 bài tập trên hackerrank và ở trên là code t làm

Đề bài cho 1 bảng gồm 2 cột là Name(tên) và Occupation(nghề nghiệp). Các yêu cầu như sau:

  1. Truy vấn dữ liệu đưa ra tên và theo sau là ký tự đầu tiên của nghề. VD: Sâmntha(A) - tên là Sâmntha và nghề Actor. Sắp xếp theo thứ tự bảng chữ cái
  2. Đưa ra số lượng của người có chung nghề theo định dạng: there are a total of [số lượng] [nghề]s. Sắp xếp theo số lượng.

Ở output của t có 1 dòng như dòng 19 mà output kỳ vọng của bài không có.
T thấy dòng 19 này khá kì lạ mà ko hiểu tại sao nó lại xuất hiện
Mong anh em giải thích giùm lý do.

1

Cậu có thể copy full đề bài không? Tớ không hiểu cậu đang hỏi gì cả.

2 Likes

T bổ sung thêm rồi mời b cho ý kiến

Đừng hiểu nhầm nhé, có vài điều tớ không hiểu:

  • “output chuẩn” là output gì à cậu? @@ Output kỳ vọng của đề bài, hay output từ bài làm của cậu, hay stdout?
  • Hình chụp màn hình của cậu là gì vậy? Là expectation ở đề bài khi cậu chạy query?
  • Câu SQL ở đầu là bài làm hay một phần của đề bài vậy cậu?
  • Khi cậu nộp bài làm của cậu, cậu có gặp vấn đề gì không? Lỗi, hay sai kỳ vọng?
2 Likes

Chào cậu, output kỳ vọng của bài và ouput của tớ khác nhau là ouput của tớ có dòng 19. Phía trên là code bài làm của tớ. Hình chụp là output của tớ và ko có vấn đề khi chạy ngoài dòng 19 ko khớp expected output

Ý bạn là dòng 19 chính là dòng mà đề bài kì vọng sẽ in ra? Ồ thế thì rất lạ, có lẽ bên làm đề có sai sót, bạn xem có thể báo cáo được không, hoặc nếu có mục bình luận thì vào xem thử.

À, đọc chưa kĩ nên nhầm. Kiểu như nó nhận nguyên dòng truy vấn của bạn là 1 kết quả được trả về.

1 Like

mình nhớ thường trên hackerrank nó có example output trên đề luôn mà nhỉ? còn hình chụp của bạn up lên là output của bạn à.

1 Like

đây chính là kq chạy input mẫu đó. KQ đúng hết rùi trừ dòng 19

Uhm, thường thì khi cậu chạy select concat, cậu sẽ nhận được 1 bảng, với header row chính là lệnh concat, và các row ở sau sẽ là kết quả. Đó là lý do dòng 19 xuất hiện. Cậu có thể tìm cách để ẩn header row đi (tớ không chắc là khả thi).

Thực ra, nó không ảnh hưởng lắm đâu, vì quan trọng là cậu đã hiểu concept và lấy được dữ liệu cậu cần rồi.

Hope it helps!

5 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?