Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да изчислим процента с SQL израз

  1. Най-ефективният (използвайки over()).

    select Grade, count(*) * 100.0 / sum(count(*)) over()
    from MyTable
    group by Grade
    
  2. Универсален (всяка версия на SQL).

    select Grade, count(*) * 100.0 / (select count(*) from MyTable)
    from MyTable
    group by Grade;
    
  3. С CTE, най-малко ефективни.

    with t(Grade, GradeCount) 
    as 
    ( 
        select Grade, count(*) 
        from MyTable
        group by Grade
    )
    select Grade, GradeCount * 100.0/(select sum(GradeCount) from t)
    from 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. Как мога да комбинирам няколко реда в списък, разделен със запетая в SQL Server 2005?

  2. Какво е доверена връзка?

  3. Поточно предаване на базирани на данни изображения с помощта на HttpHandler

  4. Създайте изглед с клауза ORDER BY

  5. SQL Server - Връщане на стойност след INSERT