tôi có các dữ liệu sau trong một bảng:MySQL - Hiện cặp kỷ lục trong một bản ghi
Time, Type, Kilometers
12:00, 1, 0.1
12:30, 2, 0.2
14:00, 1, 0.4
15:00, 2, 1.0
16:00, 1, 1.2
16:30, 2, 1.5
16:45, 1, 2.0
Những thông tin này được sắp xếp thứ tự thời gian sử dụng lĩnh vực DateTime. Tôi muốn hiển thị 'cặp' những kỷ lục như 1 hàng, như vậy:
StartTime, Type1Km, Type2Km
12:00, 0.1, 0.2
14:00, 0.4, 1.0
16:00, 1.2, 1.5
16:45, 2.0, NULL
Có một số khó khăn: Nếu không có Type1 để bắt đầu, sau đó hiển thị NULL trong lĩnh vực Type1Km các bảng kết quả. Tương tự, nếu không có kết thúc Type2, hiển thị NULL trong trường 'Type2Km'.
Tôi làm cách nào để thực hiện việc này?
Phần khó khăn là bạn đang tham gia một thời gian với loại 1 với thời gian tiếp theo của loại 2. Nếu có 2 loại 1 "trong một hàng", thì Type2Km phải là null, phải không? – MPelletier
@MPelletier - chính xác (điều này khó xảy ra, nhưng sẽ có lợi nếu giải pháp đưa vào tài khoản này) – Simon
Tôi sẽ dễ dàng giải quyết hơn nếu bảng này có cột tăng tự động để liên kết X với X + 1 cho kiểm tra vi phân ... Có một, và chỉ không trình bày ở trên? – DRapp