Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

SQL Server:bagaimana cara menghitung median (dikelompokkan oleh)?

Anda perlu mengubah kode Anda untuk menggunakan desimal sebagai berikut

 SELECT
   dst,
   AVG(sp)
FROM
(
   SELECT
      dst,
      cast(sp as decimal(5,2)) sp,
      ROW_NUMBER() OVER (
         PARTITION BY dst 
         ORDER BY sp ASC, id ASC) AS RowAsc,
      ROW_NUMBER() OVER (
         PARTITION BY dst 
         ORDER BY sp DESC, id DESC) AS RowDesc
   FROM dbo.cars SOH
) x
WHERE 
   RowAsc IN (RowDesc, RowDesc - 1, RowDesc + 1)
GROUP BY dst
ORDER BY dst;

Saat ini, perintah AVG dilakukan pada int, oleh karena itu hasilnya adalah int



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menulis karakter UTF-8 menggunakan penyisipan massal di SQL Server?

  2. Tidak Dapat Terhubung ke Server - Kesalahan terkait jaringan atau spesifik contoh

  3. bcp:Kesalahan =[Microsoft][SQL Server Native Client 10.0]Data string, pemotongan kanan

  4. Pratinjau publik pertama SQL Server 2019 :CTP 2.0

  5. Jenis variabel tak terduga yang dikembalikan oleh Receive-Job