sql >> Databáze >  >> RDS >> Sqlserver

SQL Server:jak vypočítat medián (seskupit podle)?

Musíte změnit svůj kód tak, aby používal desetinná místa následovně

 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;

Aktuálně se příkaz AVG provádí na int, proto je výsledkem int



  1. Jak převést desítkové na šestnáctkové pomocí TO_CHAR() v Oracle

  2. JSON_MERGE_PRESERVE() – Sloučit více dokumentů JSON v MySQL

  3. Chyba:nedefinovaná vlastnost $load

  4. Jak začlenit mysql do výukového programu rychlého startu Jboss