webForumDet fria alternativet

dela procent

Databaser & SQL

6 svar · 439 visningar · startad av annasmurf

Medlem sedan mars 2006237 inlägg
Frågan#1

hej!

jag har en tabell där jag har data, en kolumn har värdert -1 och jag vill räkna ut hur många procent av all data i samma tabell som har värdet -1
försökt med detta

select (select count(Använt) AS använt from  u513.TblPresentkortID where Använt=-1) as typ0
,(select count(Använt) as test from u513.TblPresentkortID) as tr,
,(select (typ0/tr) from  u513.TblPresentkortID) as t

men blir fel..någon som kan?

Medlem sedan dec. 200012 464 inlägg
#2
select 100.0*(sum(case when använt = -1 then 1.0 else 0.0 end)/1.0*count(*)) as percent
  from u513.TblPresentkortID
Medlem sedan mars 2006237 inlägg
#3

får då detta felmedelande
Server: Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'percent'.

Medlem sedan juni 200032 967 inlägg
#4

Percent kan vara reserverat om du använder SQL Server. Byt namn på det skapade fältet till något annat.

Medlem sedan mars 2006237 inlägg
#5

funkar inte ändå med detta får då svaret:

36902700.000000

svarat ska bli 41,85% om jag räknar ut manuellt

Medlem sedan dec. 20025 483 inlägg
#6

Hur ser din exakta SQL-fråga ut nu?

Medlem sedan mars 2006237 inlägg
#7

så som larsG sa

select 100.0*(sum(case when använt = -1 then 1.0 else 0.0 end)/1.0*count(*)) as test
  from u513.TblPresentkortID
260 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)