webForumDet fria alternativet

Count på tvåvärden

9 svar · 236 visningar · startad av AG

AGMedlem sedan mars 20001 266 inlägg
#1

Skulle behöva hjälp med en liten sqlsats.
Har en tabell. Där finns ett fält som heter [status]. Om satus=0 är svaret "Nej" om det är 1 och större är svaret "Ja".

Skall alltså räkna ut av det totala antalet poster hur många som är "Ja" och hur många som är "Nej". Detta svar skall sen användas för att ta fram en dynamisk graf.

Tack
Andreas

@ndersMedlem sedan juni 200032 969 inlägg
#2

select status, count(*) as antal group by status

mvh

AGMedlem sedan mars 20001 266 inlägg
#3

Tackar, men hur skall jag ta reda på vilka som är över och under 1, vill ju få ut ett totalt värde, och värdena "ja" och "nej"

Andreas

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Vilken DBMS?

@nders glömde nog en detalj.

AGMedlem sedan mars 20001 266 inlägg
#5

Nu då access, sen mysql, så det vore bra ifall det fungerade i båda :)

Andreas

LarsGMedlem sedan dec. 200012 464 inlägg
#6

Det går inte, det skulle vara enklare om alla ja hade samma värde.

Access

  select sum(iif(status>0,1,0)) as Ja, 
            sum(iif(status=0,1,0)) as Nej 
    from entabell

Mysql

  select sum(case when status > 0 then 1 else 0 end) as Ja,
            sum(case when status = 0 then 1 else 0 end) as Nej
  from entabell
AGMedlem sedan mars 20001 266 inlägg
#7

Oki
Ska jag göra flera sqlanrop då, eller vilket kan vara att rekommendera?

Anledningen till att staus är över 1 också är att det är just hur kritisk statusen är.

Andreas

@ndersMedlem sedan juni 200032 969 inlägg
#8

LarsG skrev:

@nders glömde nog en detalj.

Japp, jag missade nyckelorden och större.

Mvh,

AGMedlem sedan mars 20001 266 inlägg
#9

Vart ligger felet här då?

String sqlc = "select count(Priority) as antac from [URLS] where [Priority] = '0'";

Andreas

AGMedlem sedan mars 20001 266 inlägg
#10

Fixat var enkelfnuttarna, nu använder jag koden:

Statement s = con.createStatement();
String sql = "select [Priority], count(*) as antal from [URLS] group by [Priority]"; 
ResultSet rs = s.executeQuery(sql);
Statement s2 = con.createStatement();
String sqlc = "select count(Priority) as antac from [URLS] where [Priority] = 0"; 
ResultSet rsc = s2.executeQuery(sqlc);

Verkar ju fruktansvärt onödig.

Andreas

139 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)