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

Persentase SQL Server 2005 dalam tanda kurung di tabel pivot

Anda dapat memformat hasil kueri pivot Anda seperti yang Anda lakukan dengan yang lain. Jadi, Anda dapat menggabungkan persentase ke sumbernya masing-masing. Ini adalah SQL FIDDLE .

SELECT RC.lessonid AS 'lessonid     response count->'
  , convert (varchar(20), isnull([0], 0))
  + isnull (' ('
-- As both numbers are integers don't forget to cast one of them into double
-- If you dislike * 100 format or want more precise result.
  + convert (varchar(20), [0] * 100 / RCN.N)
  + '%)', '') as [0]
  , convert (varchar(20), isnull([1], 0))
  + isnull (' ('
  + convert (varchar(20), [1] * 100 / RCN.N)
  + '%)', '') as [1]
  , convert (varchar(20), isnull([2], 0))
  + isnull (' ('
  + convert (varchar(20), [2] * 100 / RCN.N)
  + '%)', '') as [2]
  , convert (varchar(20), isnull([3], 0))
  + isnull (' ('
  + convert (varchar(20), [3] * 100 / RCN.N)
  + '%)', '') as [3]
  , convert (varchar(20), isnull([4], 0))
  + isnull (' ('
  + convert (varchar(20), [4] * 100 / RCN.N)
  + '%)', '') as [4]
  ,RCN.N
FROM (
    SELECT lessonid
        ,response
        ,count(response) AS respcnt
    FROM tblRChoices
    GROUP BY lessonid
        ,response
    ) TableResponseCount
PIVOT(SUM(respcnt) FOR response IN (
            [0]
            ,[1]
            ,[2]
            ,[3]
            ,[4]
            )) RC
JOIN (SELECT lessonid, count(lessonid) as N FROM tblRChoices GROUP BY lessonid) RCN 
ON RC.lessonid = RCN.lessonid


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengapa cast/convert dari int mengembalikan tanda bintang

  2. SQL Query untuk menemukan hari terakhir bulan ini

  3. LINQ to SQL :Terlalu banyak Penggunaan CPU:Apa yang terjadi ketika ada banyak pengguna

  4. Baca dokumen XML yang disimpan di SQL Server 2008 R2 dengan tipe data XML

  5. Bagaimana cara memperbarui tabel besar dengan jutaan baris di SQL Server?