Php 在MySQL中计算一行?
如果我有一张看起来像Php 在MySQL中计算一行?,php,mysql,database,Php,Mysql,Database,如果我有一张看起来像 (`id`, `category`, `content`, `post_time`) 我想统计一下发布时间>1326600000的类别 我希望数据显示如下: categorys['cat_1'] = 4 categorys['cat_2'] = 2 categorys['cat_3'] = 1 我能想到的唯一方法就是获取MySQL中的每一行。 创建类别列表。 然后作为cat_计数进行计数(id),其中category='category_from_list' 有更好的办
(`id`, `category`, `content`, `post_time`)
我想统计一下发布时间>1326600000的类别
我希望数据显示如下:
categorys['cat_1'] = 4
categorys['cat_2'] = 2
categorys['cat_3'] = 1
我能想到的唯一方法就是获取MySQL中的每一行。
创建类别列表。
然后作为cat_计数进行计数(id),其中category='category_from_list'
有更好的办法吗
有更好的办法吗
是的:
(MySQL实际上使GROUPBY子句是可选的-如果您同时选择了category
和COUNT(1)
,它将推断GROUPBY子句-但您还是应该包括它。)
有更好的办法吗
是的:
(MySQL实际上使GROUPBY子句是可选的-如果您同时选择
category
和COUNT(1)
,它将推断GROUPBY子句-但您还是应该包括它。)谢谢。这么简单,但正是我想要的。对不起,我对SQL=(@LeeJacobson:不客气!别难过;SQL是一个巨大的野兽,如果你还不知道它叫什么,那么很难找到你想要的功能。哇,谢谢。这么简单,但正是我想要的。对不起,我对SQL这么不在行=(@LeeJacobson:不客气!别难过;SQL是一个巨大的野兽,如果你还不知道它叫什么,那么很难找到你想要的功能。
SELECT category,
COUNT(1)
FROM insert_table_name_here
WHERE post_time > '1326600000'
GROUP
BY category
;
SELECT `category`,
COUNT(`category`) as TotalCount
FROM `tableName`
WHERE post_time > '1326600000'
GROUP BY category