Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027

    Ordine di estrazione in SQL

    Ragazzi, le mie lacune in SQL ogni tanto si fanno sentire, percui vi chiedo se questa query è corretta:

    codice:
    SELECT * FROM menu ORDER BY attivo DESC, ordine ASC
    ve lo chiedo perchè non fa quello che vorrei.

    In pratica nel campo "attivo" ci può essere 0 o 1, mentre nel campo ordine un intero normale.

    Vorrei ordinare le voci di un menu prese da db mostrando per prime le voci attive(1) e per seconde quelle non attive(0), per questo ho messo il DESC.
    Vorrei anche che come seconda clausola di ordinamento ci fosse il campo ordine.
    Facendo un esempio, ho questa tabella:

    codice:
    +----+----------+--------+--------+
    | id | nome     | attivo | ordine |
    +----+----------+--------+--------+
    |  0 | Contatti |   0    | 20     |
    +----+----------+--------+--------+
    |  1 | Home     |   0    | 10     |
    +----+----------+--------+--------+
    |  2 | Guestbook|   1    | 30     |
    +----+----------+--------+--------+
    |  3 | Chi Siamo|   1    | 40     |
    +----+----------+--------+--------+
    e vorrei come risultato della query:
    codice:
    +----+----------+--------+--------+
    | id | nome     | attivo | ordine |
    +----+----------+--------+--------+
    |  2 | Guestbook|   1    | 30     |
    +----+----------+--------+--------+
    |  3 | Chi Siamo|   1    | 40     |
    +----+----------+--------+--------+
    |  0 | Contatti |   0    | 10     |
    +----+----------+--------+--------+
    |  1 | Home     |   0    | 20     |
    +----+----------+--------+--------+
    grazie

  2. #2
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Hai provato:

    SELECT * FROM menu GORUP BY attivo ORDER BY ordine ASC ??

  3. #3
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da marco80
    Hai provato:

    SELECT * FROM menu GORUP BY attivo ORDER BY ordine ASC ??
    come ti dicevo non sono molto esperto in sql...

    comunque la tua query mi a questo risultato:
    codice:
     query SQL: Documentazione
    
    SELECT *
    FROM menu
    GROUP BY attivo,
    ORDER BY ordine ASC
    LIMIT 0 , 30
    
    Messaggio di MySQL: Documentazione
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY ordine ASC LIMIT 0, 30' at line 1
    ciao e grazie

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 © 2025 vBulletin Solutions, Inc. All rights reserved.