Tôi nghĩ đây là những gì bạn đang cố gắng đạt được:
SELECT t.* FROM test t
JOIN
( SELECT Name, MIN(Value) minVal
FROM test GROUP BY Name
) t2
ON t.Value = t2.minVal AND t.Name = t2.Name;
Đầu ra:
ID | GIÁ TRỊ | TÊN |
---|---|---|
1 | 10 | row1 |
4 | 5 | row2 |
Xem SQLFiddle này
- Bản trình diễn với nhiều giá trị hơn
- Bản trình diễn có giá trị trùng lặp
- Bản trình diễn có xóa các giá trị trùng lặp (sử dụng
DISTINCT
)
Ở đây tôi đã tự tham gia bảng với minVal và Name.