Tôi không có trạm oracle để kiểm tra nhưng bạn có thể chỉ cần bọc trình tổng hợp xung quanh SELECT của mình dưới dạng truy vấn con / bảng dẫn xuất / chế độ xem nội tuyến
Vì vậy, nó sẽ là (UNTESTED !!)
SELECT
AVG(s.c)
, MIN(s.c)
, MAX(s.c)
, s.ID
FROM
--Note this is just your query
(select id, to_char(time), count(*) as c from vehicle_location group by id, to_char(time), min having id = 16) as s
GROUP BY s.ID
Đây là một số bài đọc về nó:
https://www.devshed.com/c/a/Oracle/Inserting-SubQueries-in-SELECT-Statements-in-Oracle/3/
CHỈNH SỬA: Mặc dù bình thường nó là một tệ hại ý tưởng để chọn cả hai MIN và MAX trong một truy vấn duy nhất.
EDIT2: Vấn đề tối thiểu / tối đa liên quan đến cách một số RDBMS (bao gồm cả oracle) xử lý tổng hợp trên các cột được lập chỉ mục. Nó có thể không ảnh hưởng đến truy vấn cụ thể này nhưng tiền đề là có thể dễ dàng sử dụng chỉ mục để tìm MIN hoặc MAX nhưng không phải cả hai cùng một lúc vì bất kỳ chỉ mục nào có thể không được sử dụng hiệu quả.
Đây là một số bài đọc về nó:
https://momendba.blogspot.com/2008/07/min-and-max-functions-in-single-query.html