MySQL - 为记录分配动态类别并对其进行分组

时间:2015-05-21 11:29:48

标签: mysql

我在mysql中有一堆记录..我有5个五类(实际上是时间段,如下午1-2点,下午2-3点,下午3-4点等),这在记录的任何字段中都不存在。

我需要像这样查询MySQL -

查找所有结果grouped by category1, category2等等,并在群组sort records by field1, field2等内。

实际查询如下所示 -

Group all records whose time slot fall in cat1, cat2依此类推,然后sort within this group by field1, field2, field3

1 个答案:

答案 0 :(得分:1)

您的查询含糊不清,但您似乎想要一个案例:

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;

如果您确实希望按时间值而不是名称进行排序,请使用:

order by min(time);