/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
count antal data med bestemt værdi og vise~
Fra : Otto


Dato : 16-02-07 09:13

Hej derude...
Jeg er ved at blive vanvittig
Jeg har lavet denne side med ASP (VBS) og Accesss (DB) -
http://www.gymnasiereform.dk/svar_q12.asp
det fungerer fint , men nu er jeg ved at migrere til MySQL , og nu kan jeg
simpelthen ikke finde ud af at få vist svar som % af af alle svar..

Jeg kan finde det samlede antal records , samt antal svar = nej etc
men når jeg så vil bruge mine variable f.eks
(antal_nej /antal_records) * 100 for at få % så går det galt.

Hvad skal jeg gøre ..?
Håber virkelig at der er nogen som kan vise vej her ..
hilsen - og på forhånd tak
Otto



 
 
Jens Gyldenkærne Cla~ (16-02-2007)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 16-02-07 09:43

Otto skrev:

> Jeg kan finde det samlede antal records , samt antal svar =
> nej etc men når jeg så vil bruge mine variable f.eks
> (antal_nej /antal_records) * 100 for at få % så går det galt.

*Hvordan* går det galt? Får du fejlmeddelelser fra databasen eller
bare forkerte eller manglende data?

Man har normalt ikke variable i SQL - foretager du beregningen i
forespørgslen eller efterfølgende i asp-koden?

Noget der måske kan have indflydelse er skelnen mellem heltal og
decimaltal. Prøv evt. at omskrive beregningen til:

   100.0 * antal_nej / antal_records

Hvis det stadig driller, så vis hele din sql-sætning - så er det
lettere at opdage evt. fejl.
--
Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
eller Brønshøj, max 6000 pr. måned.
Kontakt pr. mail - nospam(at)gyros.dk
Jens Gyldenkærne Clausen

Otto (16-02-2007)
Kommentar
Fra : Otto


Dato : 16-02-07 16:27

"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse > Hvis
det stadig driller, så vis hele din sql-sætning - så er det
> lettere at opdage evt. fejl.

Hej Jens - Her er min kode m fejlmeddelelsen:

strSQL="SELECT COUNT(`bruger_evaluering`.Q1) AS antal_nej From
bruger_evaluering WHERE Q1 = 'nej' "

set RS = connection.Execute(strSQL)
antal_nej = rs("antal_nej")
procent_nej = antal_nej/antalrecords '

' ->ERROR Fejltype:
' Der opstod en Microsoft VBScript-kørselsfejl (0x800A000D)
' Typer stemmer ikke overens

var 'antal_nej' samt var antalrecords fungerer OK
men når jeg så dividere det ene med det andet så er den gal !!

Siden kan ses med ACCESS + ASP Classic på
http://www.gymnasiereform.dk/svar_q12.asp - og problemet kommer altså fordi
jeg nu er ved at kode om til MySQL - og det er ellers gået fint - undtagen
dette ..! Agghhh ..
hilsen- lettere desperat - Otto



Peter Lykkegaard (16-02-2007)
Kommentar
Fra : Peter Lykkegaard


Dato : 16-02-07 17:57

Otto wrote:

> ' Der opstod en Microsoft VBScript-kørselsfejl

Ret beset så er det en fejl fra dit ASP lag
Men det ville da være "smart" hvis du lavede din beregning direkte i mySQL

Hvor kommer data i variablen antalrecords fra?

NB! Du kan udskrive variabler på din asp side vha response.write (iirc)

- Peter

--
Hi! I'm a .signature *virus*!
Copy me into your ~/.signature to help me spread!



Otto (16-02-2007)
Kommentar
Fra : Otto


Dato : 16-02-07 18:46


"Peter Lykkegaard" <plykkegaard@gmail.com> skrev i en meddelelse > Hvor
kommer data i variablen antalrecords fra?
______________________

Var antalrecords er hentet i en tidligere SQL på siden.....og mht
udskrivning af var - Øhh jo det gør jeg jo hele tiden jvnf bl.a.
http://www.gymnasiereform.dk/svar_q12.asp

Men jeg er nok lidt et svin mht definere datatyper i min asp...
Access er vist ikke så nøjeregnende hermed- men nu gælder det altså My SQL.

mht at lave beregninger direkte i SQL ... det troede jeg netop ikke man
måtte
og I wouldnet know how
hilsen Otto ...



Peter Lykkegaard (16-02-2007)
Kommentar
Fra : Peter Lykkegaard


Dato : 16-02-07 19:27

Otto wrote:
>
> mht at lave beregninger direkte i SQL ... det troede jeg netop ikke
> man måtte

Må og må, det kommer jo an på hvad det er man vil lave

Nogen går fuldstændig amok og henter en record ad gangen for at initiere en
collection af business objecter andre laver al kode direkte i rdbm systemet
og nøjes med et tyndt præsentationslag
En gylden middelvej vil nok være at foretrække :)

Jeg har ikke selv fedtet med MySQL men en del med MSSQL
Her ville kunne man lave noget ala dette:

Select (select cast(count(*) As Float) from bruger_evaluering where Q1 =
'nej' ) / (select cast(count(*) As Float) from bruger_evaluering) As
Nej_svar_udtrykt_i_procent

Jeg bruger Cast for at divisionen returnerer et decimaltal

(Testet på MSSQL og med forbehold for tastefejl)

Peter

--
Hi! I'm a .signature *virus*!
Copy me into your ~/.signature to help me spread!



Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409073
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste