如果我的桌子看起来像
(`id`, `category`, `content`, `post_time`)
我想计算类别WHERE(例如)post_time> '1326600000' 我希望数据显示如下:
categorys['cat_1'] = 4
categorys['cat_2'] = 2
categorys['cat_3'] = 1
我能想到这样做的唯一方法就是获取MySQL中的每一行。 创建类别列表。 然后将count(id)作为cat_count WHERE category ='category_from_list'
有更好的方法吗?
答案 0 :(得分:4)
有更好的方法吗?
是:
SELECT category,
COUNT(1)
FROM insert_table_name_here
WHERE post_time > '1326600000'
GROUP
BY category
;
(MySQL实际上使GROUP BY子句成为可选项 - 如果同时选择category
和COUNT(1)
,它将推断出GROUP BY子句 - 但无论如何都要包括它。)
答案 1 :(得分:0)
SELECT `category`,
COUNT(`category`) as TotalCount
FROM `tableName`
WHERE post_time > '1326600000'
GROUP BY category