---
title: "Sortera?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/97821-sortera"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "k0ffe"
published: "2004-02-20T18:11:53.000Z"
updated: "2004-02-29T10:36:27.000Z"
replies: 7
views: 291
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/databaser-sql/97821-sortera"
---

# Sortera?

## #1 — k0ffe, 2004-02-20T18:11Z

Hur skriver jag för att sortera posterna efter datumet i den här satsen?

```
 SQL = "SELECT * FROM debatt_svar WHERE SID = " & Request.QueryString("DID")
Set RS2 = Connection.Execute(SQL)
```

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

## #2 — @nders, 2004-02-20T18:12Z

```
SQL = "SELECT * FROM debatt_svar WHERE SID = " & Request.QueryString("DID") & " ORDER BY datum"
```

Tipsar lite om [SQL-forumet](http://www.webforum.nu/forumdisplay.php?s=&forumid=53).

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

## #3 — LarsG, 2004-02-20T18:28Z

Flyttas från ASP

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

## #4 — k0ffe, 2004-02-26T21:36Z

Nu ett nytt problem:
På förstasidan där alla debatt-rubriker visas, vill jag sortera dessa efter debatten med nyast svar.

```
<% 
Set RecSet = Server.CreateObject("ADODB.Recordset")
Set objRSAnswer = Server.CreateObject("ADODB.Recordset")

SQL = "SELECT (select count(*) from debatt) As AntalDebatt, *, Format$([datum],'yyyy/mm/dd') AS formdatum FROM debatt order by datum desc"
RecSet.Open SQL, Connection, adOpenStatic, adLockOptimistic

response.write "<b>" & recset("AntalDebatt") & "</b>"
 %> debatter
 
 Rubrik: 
 Datum: 
 Antal svar:
<% while not recset.eof %>

<% response.write (" &raquo; " & "<a href=""visa_debatt.asp?DID=" & recset("DID") & """>" & Recset("rubrik") & "</a>" ) %>
                        
  <%=RecSet("forfattare")%>
<%= FormatDateTime(recset("datum"),2) %>

<%
strSQL = "SELECT Count(*) FROM debatt_svar WHERE SID = " & RecSet("DID")
  objRSAnswer.Open strSQL, Connection, adOpenStatic, adLockOptimistic

  

  If objRSAnswer.EOF Then
    Response.Write "0 "
  Else
    Response.Write objRSAnswer(0) & " "
  End If

  objRSAnswer.Close 
%>
          
<%
  RecSet.MoveNext
Wend

RecSet.Close
Set RecSet = Nothing
Set objRSAnswer = Nothing

%>
```

Precis som här på WF :)

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

## #5 — LarsG, 2004-02-26T21:51Z

```
<% 

SQL = "SELECT (select count(*) from debatt) As AntalDebatt, did,rubrik,forfattare, " & _
" Format$([datum],'yyyy/mm/dd') AS formdatum , (select count(*) from debattSvar " & _
" where SID = C.DID ) , (select max(svarsDatum) from debattSvar " & _
" where SID = C.DID ) FROM debatt c order by 7 desc"
set recset = connection.execute(sql)
if not recset.eof then
response.write "<b>" & recset("AntalDebatt") & "</b>"
 %> debatter
 
 Rubrik: 
 Datum: 
 Antal svar:
<% 
while not recset.eof
    response.write " » " & "<a href=""visa_debatt.asp?DID=" & recset("DID") & """>" & Recset("rubrik") & "</a>" 
    response.write RecSet("forfattare")
    response.write Recset("formdatum") 
    response.write Recset(5) & " " 
    RecSet.MoveNext
Wend
end if
RecSet.Close
Set RecSet = Nothing

%>
```

Lägg aldrig en select inuti i en loop på det sättet. Det är ett säkert sätt att få dålig prestanda. Hämta bara de kolumner du skall visa, dvs använd aldrig select \*. Det finns ingen anledning att skapa recordset explicit.

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

## #6 — k0ffe, 2004-02-27T12:43Z

Hmm... det blir ingen skillnad?
Det är fortfarande den senast skrivna debatten som hamnar överst. Inte den som har det senast skrivna svaret.

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

## #7 — LarsG, 2004-02-28T18:10Z

Då är det fel i Access.

```
SQL = "SELECT antalDebatt, did,rubrik,forfattare, " & _
"formdatum, antalSvar, senastSvar " & _
" from  (select count(*) from debatt) As AntalDebatt, " & _
" Format$([datum],'yyyy/mm/dd') AS formdatum , " &_
" did,rubrik,forfattare, " & _
" (select count(*) from debattSvar " & _
" where SID = C.DID )  as antalSvar , " & _
" (select max(svarsDatum) from debattSvar " & _
" where SID = C.DID ) as senastSvar FROM debatt c ) dt" & _
" order by senastSvar desc"
```

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

## #8 — k0ffe, 2004-02-29T10:36Z

Jag blir galen!

```
<% 
Set RecSet = Server.CreateObject("ADODB.Recordset")
Set objRSAnswer = Server.CreateObject("ADODB.Recordset")

SQL = "SELECT antalDebatt, did,rubrik,forfattare, " & _
"formdatum, antalSvar, senastSvar " & _
" from  (select count(*) from debatt) As AntalDebatt, " & _
" Format$([datum],'yyyy/mm/dd') AS formdatum , " &_
" did,rubrik,forfattare, " & _
" (select count(*) from debatt_svar " & _
" where SID = C.DID )  as antalSvar , " & _
" (select max(Datum) from debatt_svar " & _
" where SID = C.DID ) as senastSvar FROM debatt c ) dt" & _
" order by senastSvar desc"

RecSet.Open SQL, Connection, adOpenStatic, adLockOptimistic

response.write "<b>" & recset("AntalDebatt") & "</b>"
 %>debatter

Rubrik: 
Skribent:
Datum:
Antal svar:

  <%
while not recset.eof 

response.write (" &raquo; " & "<a href=""visa_debatt.asp?DID=" & recset("DID") & """>" & Recset("rubrik") & "</a>" ) %>
               
<%=RecSet("forfattare")%>

<%= FormatDateTime(recset("datum"),2) %>
                        <%
					  strSQL = "SELECT Count(*) FROM debatt_svar WHERE SID = " & RecSet("DID")
  objRSAnswer.Open strSQL, Connection, adOpenStatic, adLockOptimistic

  

  If objRSAnswer.EOF Then
    Response.Write "0 "
  Else
    Response.Write objRSAnswer(0) & " "
  End If

  objRSAnswer.Close 
%>

<%
  RecSet.MoveNext
Wend

RecSet.Close
Set RecSet = Nothing
Set objRSAnswer = Nothing

%>
```

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/97821-sortera
