【发布时间】:2016-04-22 20:41:36
【问题描述】:
我想通过单个查询获得总 ROW 类型。让我解释一下。
通常我使用这个查询来获取其中一个:
$database->query("SELECT COUNT(*) as c FROM workers WHERE job = 1");
$totalWorkers = $database->fetchObject()->c;
因此,它完美无缺,但还有 7 种工作类型 (0-8)。这只是 (1)。
我可以这样做:[执行的查询过多,不好]
$database->query("SELECT COUNT(*) as c FROM workers WHERE job = 1");
$totalWorkers1 = $database->fetchObject()->c;
$database->query("SELECT COUNT(*) as c FROM workers WHERE job = 2");
$totalWorkers2 = $database->fetchObject()->c;
但我不想执行这些多个查询,有什么简单的方法可以做到吗?我想得到这样的计数结果:
$totalWorkers2 = $database->fetchObject()->type_1;
$totalWorkers2 = $database->fetchObject()->type_2;
我到处搜索,但找不到任何逻辑……
【问题讨论】:
-
我知道,有很简单的方法可以做到这一点,但我想不出来。
-
SELECT job, COUNT(*) as c FROM workers group by job? -
我怎样才能得到它的结果? $database->fetchObject()-> ...
-
为什么只用一个查询呢?先让它工作,然后再优化关键部分。
-
我总是优化我的查询,因为有大约 150 万条记录......