---
title: "Select Random?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/13139-select-random"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "ConnyFox"
published: "2001-12-05T13:22:00.000Z"
updated: "2006-09-12T08:01:03.000Z"
replies: 43
views: 2719
page: 1
pages: 3
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/13139-select-random"
---

# Select Random?

_Sida 1 av 3._

## #1 — ConnyFox, 2001-12-05T13:22Z

har ännu en gång lite funderingar o frågor (vet jag behöver mycket hjälp) :o)

Aja iaf problem nr.1 är att jag skulle vilja lista 10st radom inlägg från databasen och tänkte att det kanske går med något liknande 
SQL = "SELECT Random 10 \* FROM links"
nån som vet hur man gör?

Fråga nr2 är följande.. Jag undrar hur man gör för att räkna antal inlägg i en databas där kolumnen svar = ja och på så vis räkna dom olika svarsalternativen. Tänkte att detta kanske gick med ågon sorts Recset.RecordCount

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

## #2 — mrblonde, 2001-12-05T13:39Z

nr 2 kan du göra så här

```

select count(*) as AntalJa, (Select count(*) from tbl_DINTABELL where svar = 'nej') as AntalNej from tbl_DINTABELL where svar = 'ja'
```

Då får du ett recordset med två fält. AntalJa som innehåller hur många ja den hittade och AntalNej som innehåller hur många nej den hittade.

Vassego!

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

## #3 — ConnyFox, 2001-12-05T13:58Z

Ok tack, nu var det inte det jag skulle ha det till utan jag skulle använda det till att lista antalet inlägg i olika kategorier som jag sparat i en tabell i databasen.. men antar att d e samma prinsip men vet inte om jag förstått det hela riktigt rätt. Är det såhär koden bör se ut?

```
<% 

database = Server.MapPath("links.mdb")
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& database

Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "select count(*) as musik, (Select count(*) from links where kategori = 'musik') as Spel from links where kategori = 'Spel'

"
RecSet.Open SQL, Connection, 3, 3
%>

<html>
<head>
	<title>Untitled</title>
</head>

<body>

<%=RecSet("musik")%>
<%=RecSet("spel")%>

</body>
</html>
```

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

## #4 — LarsG, 2001-12-05T15:27Z

```
sql = "select count(*) as antal,kategori from links group by kategori order by kategori"
```

då får du antalet länkar inom varje kategori.

Det finns inget select random som du skrev men du kanske kan testa 

```
select top 10 * from links order by rnd()
```

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

## #5 — ConnyFox, 2001-12-05T15:49Z

Ok tack men hur gör man för att skriva ut det sedan då?

typ
spel : 5 inlägg
musik : 7 inlägg

Och rnd() funkar inte har redan testat det.. =/

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

## #6 — mrblonde, 2001-12-05T15:54Z

Så här blir det nog mer rätt.

```
"select count(*) as musik, (Select count(*) from links where kategori = 'Spel') as Spel from links where kategori = 'Musik'
```

För att skriva ut:

```
Musik <%=RecSet("musik")%> inlägg<br>
Spel <%=RecSet("spel")%> inlägg
```

Borde funka bra :)

Vassego! :)

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

## #7 — LarsG, 2001-12-05T15:55Z

```
sql = "select count(*) as antal,kategori from links group by kategori order by kategori"
set rs = connect.execute(sql)
while not rs.eof
response.write rs("kategori") & ": " & rs("antal") & " inlägg <br>"
rs.movenext
wend
```

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

## #8 — ConnyFox, 2001-12-05T16:27Z

tackar för det! Båda två funkade fin fint! Nu e d bara att lista random inlägg som måste lösas =/

Nån som vet hur man gör detta? Borde la gå!

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

## #9 — LarsG, 2001-12-05T16:34Z

Vad var det för problem med att använda 

```
order by rnd
```

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

## #10 — ConnyFox, 2001-12-05T16:40Z

ja problemet var väll att det inte funkade ;)

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

## #11 — ConnyFox, 2001-12-05T16:51Z

Jag kom på en sak till, hur gör jag för att visa hur många inlägg alla kategorierna har tillsammans?

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

## #12 — LarsG, 2001-12-05T16:56Z

Gör en summreing i ditt vb-skript.

```
sql = "select count(*) as antal,kategori from links group by kategori order by kategori"
set rs = connect.execute(sql)
total = 0
while not rs.eof
response.write rs("kategori") & ": " & rs("antal") & " inlägg <br>"
total = total + rs("antal")
rs.movenext
wend
response.write "Totalt: " & total
```

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

## #13 — ConnyFox, 2001-12-05T17:05Z

Ah tack d funkade fin fint! Jag försökte använda mig av recordcount men av nån anledning hoppade den över första databas listningen då ;) Men hur som helst nu funkar det! \*bockar o bugar\*

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

## #14 — ConnyFox, 2001-12-05T18:00Z

Lyckades hitta info om att d ska finnas ett SQL kommando som heter RAND som ska slumpa.. jag testade att använda det i mitt SELECT komando för att få fram 10st slumpade inlägg men det funkade inte alltför bra.. någon som vet hur man gör eller har en annan metod?

Använder mig av denna kod

```
<% 

database = Server.MapPath("links.mdb")
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& database

Set RecSet = Server.CreateObject("ADODB.Recordset")

if Request.querystring("kategori") = "alla" then
SQL = "SELECT * FROM links ORDER BY linkname"

elseif Request.querystring("kategori") = "Senaste" then
SQL = "SELECT TOP 10 * FROM links ORDER BY datum DESC"

elseif Request.querystring("kategori") = "Top" then
SQL = "SELECT TOP 10 * FROM links ORDER BY klicks DESC"

elseif Request.querystring("kategori") = "random" then
SQL = "SELECT Top 10 * FROM links ORDER BY RAND" [b]<-- detta som måste ändras!![/b]

else
SQL = "SELECT * FROM links WHERE kategori LIKE '"& Request.querystring("kategori") &"' ORDER BY datum DESC"

end if
RecSet.Open SQL, Connection, 3, 3
%>
```

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

## #15 — LarsG, 2001-12-05T18:07Z

RAND är ingen standardfunktion i SQL. Det finns någon funktion i de flesta dbms men den har olika namn. Vilken dbms använder du?

Om det blir fel så beskriv vad som inte fungerar och visa eventuellt felmeddelande. Att bara skriva: det fungerar inte är inte speciellt informativt.

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

## #16 — ConnyFox, 2001-12-05T18:12Z

hmm hehe om du berättar vad det är för något kan jag kanske luska fram det :o)

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

## #17 — LarsG, 2001-12-05T18:19Z

DBMS = database management system = databashanterare

T.ex sibas eller Access eller Oracle eller sql server eller db2 eller ...

var det det du undrade om?

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

## #18 — ConnyFox, 2001-12-05T18:21Z

Aha jo jag misstänkte det men va inte säker så.. ;) Jag använder access 2000

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

## #19 — LarsG, 2001-12-05T18:34Z

Det finns en randomfunktion i Access som heter rnd

Jag hittade det här exemplet
 <http://www.mvps.org/access/queries/qry0011.htm>

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

## #20 — ConnyFox, 2001-12-05T18:42Z

Jo jag blev tipsad om rnd innan men fick det inte att funka.. hur ska den användas då?

Ensligt sidan borde  koden se ut ungefär såhär :

```
SQL = "SELECT top 10 * from links where randomizer() = 0 order by rnd(isnull(links.question) * 0 + 1)"
```

Blev error på rad 25 där **RecSet.Open SQL, Connection, 3, 3** ligger

error texten :
Microsoft OLE DB Provider for ODBC Drivers fel '80040e14' 

\[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] Odefinierad funktion 'randomizer' i uttryck. 

/StajlLinks 1.0/links_kategori.asp, rad 25

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/13139-select-random  
Nästa sida: https://www.webforum.nu/amne/asp/13139-select-random/page2.md
