Saya memiliki banyak catatan di mysql.. Saya memiliki 5 lima kategori (sebenarnya slot waktu seperti 1-2 siang, 2-3 sore, 3-4 sore dll) yang tidak ada di bidang catatan apa pun..

Saya perlu menanyakan MySQL seperti ini -

Temukan semua hasil grouped by category1, category2 dan seterusnya dan dalam grup sort records by field1, field2 dll..

Kueri yang sebenarnya terlihat seperti ini -

Group all records whose time slot fall in cat1, cat2 dan seterusnya dan kemudian sort within this group by field1, field2, field3

0
abipc 21 Mei 2015, 14:29

1 menjawab

Jawaban Terbaik

Permintaan Anda tidak jelas, tetapi Anda sepertinya menginginkan sebuah kasus:

select (case when time < <value 1> then 'group1'
             when time < <value 2> then 'group2'
              . . .
        end) as grp,
       count(*), . . .
from table t
group by grp
order by grp;

Jika Anda benar-benar menginginkan pengurutan berdasarkan nilai waktu dan bukan nama grup, gunakan:

order by min(time);
1
Gordon Linoff 21 Mei 2015, 14:31