Hệ thống cần tuổi của khách hàng để phân nhóm sản phẩm. Lấy ngày hiện tại cố định là '2026-09-25'. Với các khách hàng có ngày sinh (birth_date IS NOT NULL, tức khách cá nhân), hãy tính tuoi là số tuổi tròn tại ngày '2026-09-25':
2026 - năm sinh, trừ 1 nếu sinh nhật năm 2026 chưa tới (tính đến hết ngày 2026-09-25; sinh đúng ngày 25/09 là đã đủ tuổi).Sắp xếp theo tuoi giảm dần, đồng tuổi thì theo customer_id tăng dần.
Cảnh báo: DATEDIFF(year, birth_date, '2026-09-25') của T-SQL chỉ đếm số mốc năm đi qua, không xét tháng ngày nên sai với người chưa tới sinh nhật. Hãy so sánh (tháng, ngày) của ngày sinh với (9, 25).
Bảng Customers(customer_id, birth_date).
customer_id, birth_date, tuoi (TAB); sắp xếp theo tuoi giảm dần, customer_id.
Ví dụ:
Đầu vào:
Đầu ra:
22 1965-01-24 61
12 1967-07-02 59
19 1967-05-06 59
27 1966-11-04 59
23 1967-11-03 58
3 1968-10-23 57
6 1969-07-22 57
7 1969-07-02 57
28 1969-08-20 57
21 1969-10-11 56
9 1971-04-24 55
16 1973-06-28 53
10 1975-05-25 51
15 1981-06-06 45
25 1983-06-22 43
29 1988-09-20 38
26 1988-12-27 37
24 1989-10-14 36
30 1990-02-03 36
11 1991-09-09 35
20 1991-12-02 34
1 1994-07-21 32
17 1994-05-11 32
4 1994-10-14 31
5 1996-02-06 30
8 1997-05-15 29
2 1997-12-24 28
14 1998-06-24 28
18 2000-05-09 26
13 2001-09-09 25
Giải thích:
Đang tải editor...