---
title: "Blir inte i procent?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/110317-blir-inte-i-procent"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Bosse168"
published: "2004-08-29T13:39:14.000Z"
updated: "2004-09-01T16:16:38.000Z"
replies: 15
views: 548
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/110317-blir-inte-i-procent"
---

# Blir inte i procent?

## #1 — Bosse168, 2004-08-29T13:39Z

Använder denna kod för att få fram hur många besökare som har besökt min webbplats. Allt funkar förutom att procenten blir helt fel. Om jag har haft 625 besökare så blir procenten 62500% för den dagen(!).

Någon som vet vad det är för fel?

```
Set Rs = Connect2.Execute("SELECT COUNT(ip) FROM stat WHERE datum >= DATE_SUB(CURRENT_DATE, INTERVAL 6 day )GROUP BY datum ORDER BY datum")

asp = Rs(0)

Rs.Close : Set Rs=nothing

Set Rs = Connect2.Execute("SELECT count(*) as cnt, DAYNAME(datum) as dnr, datumet AS mon, TO_DAYS(datum) as tdr FROM stat WHERE datum >= DATE_SUB(CURRENT_DATE, INTERVAL 6 day ) GROUP BY dnr,tdr ORDER BY tdr")

If not Rs.EOF Then

Dim dagen,dnr,mon

Do while not Rs.Eof

proc    = clng(Rs(0)) / clng(asp)
procent = proc * 100
```

Permalänk: https://www.webforum.nu/p/110317

## #2 — M.Cheraghi, 2004-08-29T13:42Z

du har två SQL satser som du hämtar värdet med RS som recordset, dvs när tvåan kör igång så eliminerar du dom gamla värderna från första RS.

Det är min teori

r:/ fast endå inte

Permalänk: https://www.webforum.nu/p/1423824

## #3 — Bosse168, 2004-08-29T13:43Z

Jag sätter ju värdet i en variabel och stänger recordsetet innan jag hämtar från nästa :/

Permalänk: https://www.webforum.nu/p/1423825

## #4 — solbulle, 2004-08-29T14:55Z

Vad innehåller dina variabler om du skriver ut dom? Stämmer båda värdena då?

Permalänk: https://www.webforum.nu/p/1423843

## #5 — Bosse168, 2004-08-31T08:45Z

Om jag skriver ut dom så här

```
Response.Write Rs(0) &" / "& asp
```

Så får jag ut dessa värden:
784 / 1

Jag får alltid ut 1 från variablen asp, kan det bero på något fel i den SQL-satsen?

*Givetvis så har jag inte med &" / "& när jag räknar ut procenten ;)*

Permalänk: https://www.webforum.nu/p/1424586

## #6 — J.N., 2004-08-31T12:02Z

HEJ!

Om du får 62500% och vill ha 62,5% istället, dela med 1000 istället för att multiplicera med 100 :stud  (\<=besserwissergubbe!)

Dock vore jag också irriterad över varför det inte blir rätt när man multiplicerar med 100, därför återstår endast att du räknar fel.
Får du 784 och delar det med 1 och gångrar med 100 så blir det 78400%. Det kan vi inte fejka bort.

Gillar du inte siffran, får du leta i dina frågor.
Vad vill du egentligen räkna ut?
784: antal besökare?
1: antal ipnummer?

Vill du ha reda på hur procentandelen som kommer från samma ip som det du själv har?

Permalänk: https://www.webforum.nu/p/1424690

## #7 — Bosse168, 2004-08-31T13:08Z

Nej i variablen asp ska ha värdet på hur många besökare jag haft sedan det nuvarande datumet och 6 dagar bakåt.

Permalänk: https://www.webforum.nu/p/1424742

## #8 — Bosse168, 2004-08-31T20:00Z

Ingen som vet hur man löser detta?

Permalänk: https://www.webforum.nu/p/1425024

## #9 — J.N., 2004-09-01T08:00Z

HEJ!

Se mitt svar, kontrollera matematiken.
Gillar du inte svaret, kontrollera din sql.

Bottnar problemet i att besökarna (=du) är en enda person, och att du räknar på en testwebb? Alltid vanskligt att köra fast i problem som inte finns i verkligheten. :r

Rs(0) = 784 (du har besökt 784 ggr senaste veckan?)
asp = 1 (du har haft en besökare, du själv, samma ip?)

Permalänk: https://www.webforum.nu/p/1425217

## #10 — Eclipse, 2004-09-01T08:47Z

du har glömt "WHERE ... AND IP = " & myIP 

i första frågan

Permalänk: https://www.webforum.nu/p/1425232

## #11 — Bosse168, 2004-09-01T12:29Z

Nu förstår jag inte hur du menar.

Permalänk: https://www.webforum.nu/p/1425359

## #12 — Bosse168, 2004-09-01T14:10Z

Någon som vet hur jag kan räkna ut veckostatistiken?

Permalänk: https://www.webforum.nu/p/1425445

## #13 — nitro2k01, 2004-09-01T14:24Z

Det du vill göra är alltså att visa hur många procent av veckans besökare som har besökt sidan en viss veckodag? (Exempel: Måndag v 37 utgjorde 7% av veckans besökare)
Eller?
Har du prövat att helt enkelt byta plats på nämnare och täljare:

```
proc    = clng(asp) / clng(Rs(0))
procent = proc * 100
```

 ?
Kan du tala om vad respektive SQL-sats egentligen hämtar för info?

Permalänk: https://www.webforum.nu/p/1425454

## #14 — Bosse168, 2004-09-01T15:02Z

Första SQL satsen ska räkna ut hur många besökare man har haft en vecka bakåt och den andra räknar ut hur många dags statistiken.

Permalänk: https://www.webforum.nu/p/1425470

## #15 — Eclipse, 2004-09-01T16:12Z

1\. SELECT COUNT(\*) from stat WHERE dteCreated =\> dateAdd(date(), -6)
2\. SELECT COUNT(\*) FROM stat WHERE dteCreated = date()

1\. = 200
2\. = 10

myPercent = (SQL1 / SQL2) \* 100
myPercent = 5%

Det finns en inbyggd procentfuntion i ASP för detta:
response.write FormatPercent(2/32)

\*\*\*
Alternativ kod i en rad
SQL = SELECT (SELECT COUNT(\*) from stat WHERE dteCreated =\> dateAdd(date(), -6) )
, SELECT COUNT(\*) from stat WHERE dteCreated =date() 
FROM stat;

Set mySQL = Conn.Execute(SQL)

response.write FormatPercent( mySQL(1) / mySQL(0) )

\*\*\*
Helt otestat, mest som insperation!

Permalänk: https://www.webforum.nu/p/1425514

## #16 — Eclipse, 2004-09-01T16:16Z

> **Bosse168 skrev:**
>
> Nu förstår jag inte hur du menar.

Du vet ju inte att det är ditt IP nummer!

```
Set Rs = Connect2.Execute("SELECT COUNT(ip) FROM stat 
WHERE datum >= DATE_SUB(CURRENT_DATE, INTERVAL 6 day )
[b]AND ip = " & mittIP-nummer & "[/b]
GROUP BY datum ORDER BY datum")
```

Varför har du 'group by' och 'order by' när du bara vill räkna hur många dom är?

Permalänk: https://www.webforum.nu/p/1425521

---

Tråden på webben: https://www.webforum.nu/amne/asp/110317-blir-inte-i-procent
