Domanda Ordine SQL per numero


Se ho una tabella e dati come questo:

ID |  Name  |  Group   

1    Apple     A    

2    Boy       A

3    Cat       B

4    Dog       C

5    Elep      C

6    Fish      C

e desidero ordinarlo in base al totale del gruppo dal valore più piccolo al più grande, come ad esempio: A - 2 record, B - 1 record, C - 3 record, quindi diventerà:

3    Cat       B

1    Apple     A    

2    Boy       A

4    Dog       C

5    Elep      C

6    Fish      C

Provai

    $sql = "SELECT ID,Name FROM table ORDER BY COUNT(Group)";

ma restituisce solo un risultato per me.

Ci sono suggerimenti? Grazie.


44
2018-03-03 11:12


origine


risposte:


È necessario prima aggregare i dati, questo può essere fatto usando la clausola GROUP BY:

SELECT Group, COUNT(*)
FROM table
GROUP BY Group
ORDER BY COUNT(*) DESC

La parola chiave DESC ti consente di mostrare per primo il conteggio più alto, ORDER BY per ordini di default in ordine crescente che mostrerebbero per primi il conteggio più basso.


91
2018-03-03 11:15



Provare :

SELECT count(*),group FROM table GROUP BY group ORDER BY group

ordinare per contare decrescenti

SELECT count(*),group FROM table GROUP BY group ORDER BY count(*) DESC

Questo raggrupperà i risultati del group colonna restituendo il group e il count e restituirà l'ordine in group ordine


3
2018-03-03 11:14



SELECT * FROM table 
group by `Group`
ORDER BY COUNT(Group)

2
2018-03-03 11:15



SELECT Group, COUNT(*) FROM table GROUP BY Group ORDER BY Group

o per ordinare dal conteggio

SELECT Group, COUNT(*) AS count FROM table GROUP BY Group ORDER BY count DESC

2
2018-03-03 11:16



Prova a utilizzare sotto Query:

SELECT
    GROUP,
    COUNT(*) AS Total_Count
FROM
    TABLE
GROUP BY
    GROUP
ORDER BY
    Total_Count DESC

0
2018-01-23 06:27



Qui di seguito mi dà l'opposto di quello che hai. (Colonna Gruppo di note)

SELECT
    *
FROM
    myTable
GROUP BY
    Group_value,
    ID
ORDER BY
    count(Group_value)

Fammi sapere se questo va bene con te ...

Sto cercando di ottenere anche quello che vuoi ...


0
2018-03-03 11:33



Q. Elenca il nome di ogni spettacolo e il numero di diverse volte che è stato tenuto. Elenca lo spettacolo che è stato tenuto più spesso per primo.

event_id show_id event_name judge_id
0101    01  Dressage        01
0102    01  Jumping         02
0103    01  Led in          01
0201    02  Led in          02
0301    03  Led in          01
0401    04  Dressage        04
0501    05  Dressage        01
0502    05  Flag and Pole   02

Ans:

select event_name, count(show_id) as held_times from event 
group by event_name 
order by count(show_id) desc

0
2018-02-02 05:39