sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan man beregner procent med en SQL-sætning

  1. Den mest effektive (ved hjælp af over()).

    select Grade, count(*) * 100.0 / sum(count(*)) over()
    from MyTable
    group by Grade
    
  2. Universal (enhver SQL-version).

    select Grade, count(*) * 100.0 / (select count(*) from MyTable)
    from MyTable
    group by Grade;
    
  3. Med CTE, den mindst effektive.

    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. Hvordan rydder du SQL Server-transaktionsloggen?

  2. Hvordan last_insert_rowid() virker i SQLite

  3. Oracle vælg seneste datopost

  4. Kan jeg bruge en PDO-forberedt sætning til at binde en identifikator (et tabel- eller feltnavn) eller et syntaksnøgleord?