Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [MySQL] Ordinamento alfabetico e conteggio

    ciao!

    probabilmente sto sbagliando strada io.
    partendo da questa query:
    codice:
    SELECT 
    wa_valore,
    COUNT(*) AS cnt
    FROM web_attrs
    INNER JOIN web ON w_id = wa_web
    WHERE wa_chiave = 'categoria'
    AND w_visibile = 1
    AND w_approvato = 1
    GROUP BY wa_valore
    ORDER BY cnt DESC
    LIMIT 6
    prendo quelli che hanno il counter più alto.
    però mi servirebbero ordinati alfabeticamente.
    quindi, come faccio a fare entrambe le cose?

  2. #2
    alfabeticamente "de che"? il COUNT è un numero... spiegati meglio, pls

  3. #3
    eh infatti al momento ho risolto ordinando il result set lato server con php.

    cmq in pratica, i risultati escono ovviamente così:
    codice:
    Business 10
    Alimentazione 7
    Marketing 5
    Sport 3
    Editoria 1
    però mi servirebbero cmq in ordine alfabetico del nome.
    la richiesta è: visualizza le categoria che hanno il count più grande, ma in ordine alfabetico.

    quindi per ovviare al momento ho preso quei risultati, e li ordinati con PHP (trattandosi di un array di dati alla fine).

  4. #4
    Quote Originariamente inviata da fermat Visualizza il messaggio
    ciao!

    ...
    prendo quelli che hanno il counter più alto.
    però mi servirebbero ordinati alfabeticamente.
    quindi, come faccio a fare entrambe le cose?
    Intendi forse questo ?
    codice:
    SELECT Q.* from
    (
      SELECT 
        wa_valore,
        COUNT(*) AS cnt
      FROM web_attrs
      INNER JOIN web ON w_id = wa_web
      WHERE wa_chiave = 'categoria'
      AND w_visibile = 1
      AND w_approvato = 1
      GROUP BY wa_valore
      ORDER BY cnt DESC
      LIMIT 6 ) Q
    ORDER BY Q.wa_valore

  5. #5
    Quote Originariamente inviata da sspintux Visualizza il messaggio
    Intendi forse questo ?
    codice:
    SELECT Q.* from
    (
      SELECT 
        wa_valore,
        COUNT(*) AS cnt
      FROM web_attrs
      INNER JOIN web ON w_id = wa_web
      WHERE wa_chiave = 'categoria'
      AND w_visibile = 1
      AND w_approvato = 1
      GROUP BY wa_valore
      ORDER BY cnt DESC
      LIMIT 6 ) Q
    ORDER BY Q.wa_valore
    grazie mille!!

  6. #6
    quindi quello che prima usciva così

    Business 10
    Alimentazione 7
    Marketing 5
    Sport 3
    Editoria 1

    adesso come esce?

  7. #7
    Quote Originariamente inviata da optime Visualizza il messaggio
    quindi quello che prima usciva così

    Business 10
    Alimentazione 7
    Marketing 5
    Sport 3
    Editoria 1

    adesso come esce?
    esce in ordine alfabetico.
    quindi:

    Alimentazione 7
    Business 10
    Editoria 1
    Marketing 5
    Sport 3

    sto facendo un pò di test, ma mi sembra tutto ok al momento.

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