Tôi có một bảng TAB
có hai lĩnh vực A
và B
, A
là một Varchar2(50)
và B
là một Date
.nhận được hàng tương ứng với tối đa của hàng khác
Giả sử chúng ta có các giá trị:
A | B
------------------
a1 | 01-01-2013
a2 | 05-05-2013
a3 | 06-06-2013
a4 | 04-04-2013
chúng ta cần phải có giá trị của trường A
tương ứng đến mức tối đa của lĩnh vực B
, đó là có nghĩa là chúng ta cần phải trả lại a3
.
tôi đã thực hiện yêu cầu này:
select A
from TAB
where
B = (select max(B) from TAB)
nhưng tôi muốn tránh lồng nhau chọn như trong giải pháp này.
Bạn có ý tưởng về giải pháp này không?
Cảm ơn bạn
http://stackoverflow.com/questions/13153819/how-to-select-only-row-with-max-sequence-without- sử dụng-a-subquery –
Trong trường hợp bạn đang sử dụng MySQL, tôi đã xây dựng trong câu hỏi này http://stackoverflow.com/questions/17358578/whats-the-canonical-way-to-pull-a-record-from-a -mysql-database-that-have-a-ít nhất là tại sao cách làm của bạn thực sự không tệ. Lưu ý rằng câu trả lời của tôi có đặc biệt cho các nhóm tối đa. Nếu bạn không có nhóm, nó dễ nhất để làm như Manoj đã viết trong câu trả lời của mình. – fancyPants
Bạn đang sử dụng RDBMS nào, ktaria? Nhận xét của tôi ở trên thực sự cũng hợp lệ đối với các RDBMS khác. – fancyPants