Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Order By Con Sql

  1. #1

    Order By Con Sql

    Salve,
    ho un problema con questo order by...

    SELECT * FROM reportclickarticoli GROUP BY codice ORDER BY (SELECT COUNT(*) AS RECORD_COUNT FROM reportclickarticoli) DESC

    nella tabella reportclickarticoli ho un campo hit con valore di default 1.

    non mi da l'ordinamento corretto. qualcuno può aiutarmi? grazie

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Non ho ben capito... La select count ti riporta un numero...
    Non ti basta ORDER BY hit DESC?

    Roby

  3. #3
    no perchè il campo hit è sempre 1
    viene duplicato i lrecord con l ostesso codice più volte cosi nel db

    codice hit
    cod1 1
    cod1 1
    cod1 1
    cod1 1
    cod2 1
    cod2 1

  4. #4
    ma che ordinamento vuoi? fa' un esempio con i dati in input e come li vorresti in output

  5. #5
    Perdonate ma ho risolto incrementando l'hit senza duplicare ogni record grazie

  6. #6
    ----------------------------------------------------
    nello spirito del forum, spiega come hai fatto (postando la soluzione), così aiuterai qualche altro forumista che dovesse avere lo stesso problema.
    ------------------------------------------------------------------------

  7. #7
    Certo Ci sarà anche un modo più agile ma questo funziona

    !-- controllo che non ci sia già il codice nella tabella report

    <%
    Dim Rc_controllo
    Dim Rc_controllo_numRows

    Set Rc_controllo = Server.CreateObject("ADODB.Recordset")
    Rc_controllo.ActiveConnection = MM_datacat20_STRING
    Rc_controllo.Source = "SELECT * FROM reportclickarticoli WHERE codice = '"+ Request.QueryString("codice") +"'"
    Rc_controllo.CursorType = 0
    Rc_controllo.CursorLocation = 2
    Rc_controllo.LockType = 1
    Rc_controllo.Open()

    Rc_controllo_numRows = 0
    %>

    !-- se non c'è allora lo inserisco la prima volta con il valore hitx = 1

    <%
    If Rc_controllo.EOF And Rc_controllo.BOF Then

    set Insertmail = Server.CreateObject("ADODB.Command")
    Insertmail.ActiveConnection = MM_datacat20_STRING
    Insertmail.CommandText = "INSERT INTO reportclickarticoli (codice) VALUES ('"+Request.QueryString("codice")+"')"
    Insertmail.CommandType = 1
    Insertmail.CommandTimeout = 0
    Insertmail.Prepared = true
    Insertmail.Execute()
    %>

    !-- se c'è già allora semplicemente incremento il valore di +1

    <%
    else

    valorehit = (Rc_controllo.Fields.Item("hitx").Value)

    set updatetmail = Server.CreateObject("ADODB.Command")
    updatetmail.ActiveConnection = MM_datacat20_STRING
    updatetmail.CommandText = "UPDATE reportclickarticoli SET hitx = "&valorehit+1&" WHERE codice = '"+ Request.QueryString("codice") +"'"
    updatetmail.CommandType = 1
    updatetmail.CommandTimeout = 0
    updatetmail.Prepared = true
    updatetmail.Execute()

    end if
    %>

    !-- questo m iserve per tenere traccia dei click di una determinata pagina asp che ha come url ad esempio: www.sito.it/schedalibro.asp?codice=valoreisbn

    Spero sia utile per qualcuno. Ciao ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.