Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Sql

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2000
    Messaggi
    176

    Sql

    Ciao a tutti dovrei raggruppare dei dati in una tabella con mysql in modo che le raggruppi per categoria ma con l'id + alto. in questo modo farà vedere solo il + recente dato immesso per categoria.
    La mia sintassi sql è questa ma non so come procedere.
    "SELECT * FROM TABELLA GROUP BY CATEGORIA order by ID_Count desc".
    Ma non funziona.
    Come posso dire di prendere in cosniderazione solo l'id + alto per ogni gruppo????
    Grazie mille ciao
    Inoltre vorrei prendere in considerazione solo alcune parole ad esempio le prime 20 per poi successivamente linkarle al post completo

  2. #2
    potrebbe esserti di aiuto direttamente il manuale online di mysql
    http://dev.mysql.com/doc/mysql/en/GR...Functions.html
    e in particolare la funzione MAX
    Saluti a tutti
    Riccardo

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2000
    Messaggi
    176
    Rancolo nel buoi altro consiglio????

  4. #4
    con questa query recoperi tutti gli id più bassi per ogni categoria:
    codice:
    SELECT Min(id) FROM Tabella GROUP BY Categoria
    per recoperare tutti i valori con questi id puoi fare una subquery:
    codice:
    SELECT * FROM Tabella WHERE id in(SELECT Min(id) FROM Tabella GROUP BY Categoria)

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2000
    Messaggi
    176
    Mi da questo errore nonostante ho installato la versione 4.1.2 con il relativo odbc.

    ERROR [HY000] [MySQL][ODBC 3.51 Driver][mysqld-4.1.2-alpha-nt]Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause


  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2000
    Messaggi
    176
    Ok l'ho modificata cosi:
    SELECT Count(*) as Count, ID_Count, Messaggio,MAX(ID_Count) as mass, Categoria from postblog where ID_Count like (SELECT MAX(ID_Count)from postblog group BY Categoria)

    Il problema è che mi genera un'altro errore
    Ovvero la subquery genera + di una riga
    Non riesco piu' ad uscirne

  7. #7
    Prova così:

    SELECT Count(*) as Count, ID_Count, Messaggio,MAX(ID_Count) as mass, Categoria from postblog where ID_Count IN (SELECT MAX(ID_Count)from postblog group BY Categoria)

    Ma scusa.. ci manca un GROUP BY o sbaglio?

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2000
    Messaggi
    176
    Ecco dove sbagliavo mi manca un group by ..... grazie mille :metallica

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.