Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在MySQL中计算一行?_Php_Mysql_Database - Fatal编程技术网

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