Avatar billede carl_erik Nybegynder
08. januar 2005 - 19:29 Der er 8 kommentarer og
1 løsning

SQL med avansert count og order

Jeg har denne sql:

Set RS = Connect.Execute("SELECT TOP 5  T_Linker.ID,T_Linker.overskrift,(SELECT COUNT(T_Kommentar.lid) FROM T_Kommentar WHERE T_Linker.ID = T_Kommentar.Lid) AS AntKommentarer FROM T_Linker ORDER BY 3 DESC")

Men når jeg skriver den ut....klarer den ikke å sortere den..eller plukke ut de TOP 5!

Noen som ser noen feil?
Avatar billede kalp Novice
08. januar 2005 - 19:33 #1
str_sql = "SELECT TOP 5 * FROM DinTabel ORDER BY ID desc"

ved godt det ikke er det du spørger efter, men måske kan den hjælpe.. sådan ville jeg lave min.. med access database
Avatar billede carl_erik Nybegynder
08. januar 2005 - 20:01 #2
Nei var ikke helt hva jeg spurte etter...
jeg fikk rettet forrige feilen med denne kdoen:
Set RS = Connect.Execute("SELECT TOP 5  T_Linker.ID,T_Linker.overskrift,(SELECT COUNT(T_Kommentar.lid) FROM T_Kommentar WHERE T_Linker.ID = T_Kommentar.Lid) AS AntKommentarer FROM T_Linker ORDER BY 3 Desc, T_Linker.Overskrift DESC,T_Linker.ID")

Det jeg ønsker er å sortere forumsvar etter antall kommentarer på forumsvaret...

Men med den nye koden klarte jeg kun å skrive ut...men det ble ikke noe sortering...hvorfor ikke?
Avatar billede kalp Novice
08. januar 2005 - 20:04 #3
ORDER BY 3 Desc

forstår jeg ikke rigtig... jeg arbejder som sagt kun med access (ved ikke om det der det det hehe)

men ville jo selv skrive ORDER BY id Desc

eller

ORDER BY dato Desc
Avatar billede carl_erik Nybegynder
08. januar 2005 - 20:10 #4
Jeg også bruker ACCESS....men 3 står for index-tallet...altså ikke T_Linker.Id, ikke T_Linker.Overskrift, men "(SELECT COUNT(T_Kommentar.li..."...

;)
Avatar billede kalp Novice
08. januar 2005 - 20:12 #5
okay det bare mig som ikke er så avanceret til ASP.. men hvis du bare vil have de 3 eller 5 nyeste ud kan det jo gøres på en anden måde eller skal det være sådan der?
Avatar billede kalp Novice
08. januar 2005 - 20:14 #6
fx sådan her.. med html kode og næsten klar til at køre


<html>
<head>
<title></title>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#0000CC" vlink="#0000CC" alink="#0000CC">
<div align="center"></div>
<font face="Courier New, Courier, mono" size="2"><o:p></o:p><o:p></o:p> </font>
<tr>
  <td>
    <p align="center">&nbsp;</p>
    <div align="center"><font face="Courier New, Courier, mono" size="2"><br>
      <br>
      </font> </div>
    <div align="center"></div>
    <table width="55%" border="0" cellspacing="3" cellpadding="0" align="center">
      <tr>
        <td width="51%">
          <p align="center"> <font face="Courier New, Courier, mono" size="2">
            <%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("DINTDATABASE.mdb")
str_sql2 = "SELECT TOP 5 * FROM DinTabel ORDER BY ID desc"

Set rs = Conn.Execute (str_sql2)
%>
            </font></p>
          <div align="center">
            <table width="100%" height="24" cellspacing="1" cellpadding="2">
              <tr bgcolor="#CCCCCC">
                <td width="82%" bgcolor="#000000"><font face="Courier New, Courier, mono" size="2" color="#000000"><b><font color="#FFFFFF">Top
                  5 </font></b></font></td>
              </tr>
              <%
Do Until rs.EOF
%>
              <tr bgcolor="#DDEEFF">
                <td width="82%" bgcolor="#FFFFFF"><font face="Courier New, Courier, mono" size="2" color="#0000FF">
                  </font><font face="Courier New, Courier, mono" size="2"><font color="red">
                 
                  <% = rs("FeltIDatabaseSomSkalUdskrives") %>
                  </font></font></td>
              </tr>
              <%
rs.MoveNext
Loop

  rs.Close
  Conn.Close
  Set rs = Nothing
  Set Conn = Nothing
%>
              <p></p>
            </table>
          </div>
        </td>
      </tr>
      <tr>
        <td width="51%">
          <p align="center">&nbsp;</p>
        </td>
      </tr>
    </table>
    <font face="Courier New, Courier, mono" size="2"><br>
    </font>
</body>
</html>
Avatar billede carl_erik Nybegynder
08. januar 2005 - 20:17 #7
Jepp...
men jeg skal ha de 5 største(mest kommentert) linkene(T_Linker), derfor må jeg telle antall kommentarer(T_Kommentar) i en annen tabell...og sammenholde den med T_Linker.Id...
Avatar billede kalp Novice
08. januar 2005 - 20:18 #8
ahh ja okay så kan jeg godt se du får brug for lidt mere:)
Avatar billede carl_erik Nybegynder
08. januar 2005 - 23:46 #9
THE END

Problemet er løst;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester