Vì vậy, tôi biết đây là một câu hỏi khá ngớ ngẩn, tuy nhiên (như tiêu đề khá lengthily nói) Tôi muốn biết làm thế nào làm như sau:Làm thế nào để bạn nhóm theo một cột và truy xuất một hàng có giá trị nhỏ nhất của một cột khác trong T/SQL?
Tôi có một bảng như thế này:
ID Foo Bar Blagh
----------------
1 10 20 30
2 10 5 1
3 20 50 40
4 20 75 12
tôi muốn nhóm theo Foo, sau đó kéo ra các hàng có Bar tối thiểu, tức là tôi muốn như sau:
ID Foo Bar Blagh
----------------
2 10 5 1
3 20 50 40
Tôi không thể cho cuộc sống của mình tìm ra đúng SQL để lấy lại. Tôi muốn một cái gì đó như:
SELECT ID, Foo, Bar, Blagh
FROM Table
GROUP BY Foo
HAVING(MIN(Bar))
Tuy nhiên điều này rõ ràng không hoạt động vì đó là hoàn toàn hợp lệ CÓ cú pháp và ID, Foo, Bar và Blagh không được tổng hợp.
Tôi đang làm gì sai?
+1 để liên kết chứ không phải ném một số SQL với nhau nhanh nhất có thể ... – gbn
Cheeky. Chỉnh sửa trong khi tôi nhận xét. – gbn
@gbn Tôi đã "thêm giá trị" vào câu trả lời của mình! :) – butterchicken