Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Tính trung bình giữa các cột bằng cách so sánh hai hàng trong SQL Server

Tôi nghĩ bạn chỉ có thể sử dụng min()max() để đơn giản hóa thời gian cho các cặp giá thầu / ứng dụng. Phần còn lại chỉ là tổng hợp và tổng hợp thêm.

Quá trình xử lý bạn mô tả dường như là:

select avg(avg_bid_diff)
from (select bid, avg(diff*1.0) as avg_bid_diff
      from (select bid, appid,
                   datediff(second, min(starttime), max(statustime)) as diff
            from t
            where appstatus in ('In Review', 'Approved')
            group by bid, appid
            having count(*) = 2
           ) ba
      group by bid
     ) b;

Điều này tạo ra các giả định phù hợp với dữ liệu được cung cấp - rằng các trạng thái không trùng lặp đối với các cặp giá thầu / ứng dụng và việc phê duyệt luôn được thực hiện sau khi xem xét.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thói quen xấu:Tránh NULL trong SQL Server

  2. Hợp nhất và Hợp nhất có giống nhau trong SQL Server không?

  3. Đếm khách hàng mới mỗi tháng

  4. Truy vấn SQL Server để tìm Giá trị CHI-SQUARE (Không hoạt động)

  5. Bộ đệm ẩn đối tượng tạm thời của SQL Server