Php 如何根据不同的条件从表中获取行计数
我有一个名为posts的表,其中包含id、post、status等字段。。 我想创建一个查询,通过帖子的状态获取帖子数量,如下所示Php 如何根据不同的条件从表中获取行计数,php,mysql,Php,Mysql,我有一个名为posts的表,其中包含id、post、status等字段。。 我想创建一个查询,通过帖子的状态获取帖子数量,如下所示 ------------------------------ | published | draft | trash | ------------------------------ | 150 | 15 | 0 | ------------------------------ 请帮助我: SELECT status, COUNT(
------------------------------
| published | draft | trash |
------------------------------
| 150 | 15 | 0 |
------------------------------
请帮助我:
SELECT status, COUNT(*) count FROM posts GROUP BY status
这更为典型,并将为您提供以下信息
-----------------------
| status | count |
-----------------------
| published | 150 |
-----------------------
| draft | 15 |
-----------------------
| trash | 0 |
-----------------------
如果你想要的正是你要的那张桌子,那就去吧
SELECT SUM(CASE status WHEN 'published' THEN 1 ELSE 0 END) published,
SUM(CASE status WHEN 'draft' THEN 1 ELSE 0 END) draft,
SUM(CASE status WHEN 'trash' THEN 1 ELSE 0 END) trash
FROM posts
这更为典型,并将为您提供以下信息
-----------------------
| status | count |
-----------------------
| published | 150 |
-----------------------
| draft | 15 |
-----------------------
| trash | 0 |
-----------------------
如果你想要的正是你要的那张桌子,那就去吧
SELECT SUM(CASE status WHEN 'published' THEN 1 ELSE 0 END) published,
SUM(CASE status WHEN 'draft' THEN 1 ELSE 0 END) draft,
SUM(CASE status WHEN 'trash' THEN 1 ELSE 0 END) trash
FROM posts
这更为典型,并将为您提供以下信息
-----------------------
| status | count |
-----------------------
| published | 150 |
-----------------------
| draft | 15 |
-----------------------
| trash | 0 |
-----------------------
如果你想要的正是你要的那张桌子,那就去吧
SELECT SUM(CASE status WHEN 'published' THEN 1 ELSE 0 END) published,
SUM(CASE status WHEN 'draft' THEN 1 ELSE 0 END) draft,
SUM(CASE status WHEN 'trash' THEN 1 ELSE 0 END) trash
FROM posts
这更为典型,并将为您提供以下信息
-----------------------
| status | count |
-----------------------
| published | 150 |
-----------------------
| draft | 15 |
-----------------------
| trash | 0 |
-----------------------
如果你想要的正是你要的那张桌子,那就去吧
SELECT SUM(CASE status WHEN 'published' THEN 1 ELSE 0 END) published,
SUM(CASE status WHEN 'draft' THEN 1 ELSE 0 END) draft,
SUM(CASE status WHEN 'trash' THEN 1 ELSE 0 END) trash
FROM posts
选择published,COUNT*FROM posts WHEREpublished=150
或
选择已发布,从帖子中计数* 选择已发布,从发布的帖子中计算*150
或
选择已发布,从帖子中计数* 选择已发布,从发布的帖子中计算*150
或
选择已发布,从帖子中计数* 选择已发布,从发布的帖子中计算*150
或
选择已发布,从帖子中计数* 完美的解决方案,如您所示: ** ** 请注意,您的表结构应如下所示:
完美的解决方案,如您所示: ** ** 请注意,您的表结构应如下所示:
完美的解决方案,如您所示: ** ** 请注意,您的表结构应如下所示:
完美的解决方案,如您所示: ** ** 请注意,您的表结构应如下所示:
就是这样。你救了我:就是这样。你救了我:就是这样。你救了我:就是这样。您保存了我:选择SUMmain_a.published,SUMmain_a.draft,SUMmain_a.trash,如果状态为'published',计数,0为published,如果状态为'draft',计数,0为draft,如果状态为'trash',计数*,0为posts组中的垃圾_a@DeepakKumar,IMHO,这看起来像一个答案,不是评论。是的,我已经在答案中发布了它,但你们不介意,这就是为什么我评论,这是完美的答案,因为你们想在上面显示的结果。你能接受我的回答吗?选择SUMmain_a.published,SUMmain_a.draft,SUMmain_a.trash FROM选择如果状态为'published',计数,0为published,如果状态为'draft',计数,0为draft,如果状态为'trash',计数*,0为posts GROUP BY status main中的垃圾_a@DeepakKumar嗯,这看起来像个答案,不是评论。是的,我已经在回答中发布了它,但你们不介意,这就是我评论的原因,这是一个完美的答案,因为你们想在上面显示结果。你能接受我的回答吗?选择SUMmain_a.published,SUMmain_a.draft,SUMmain_a.trash FROM选择如果状态为'published',计数,0为published,如果状态为'draft',计数,0为draft,如果状态为'trash',计数*,0为posts GROUP BY status main中的垃圾_a@DeepakKumar嗯,这看起来像个答案,不是评论。是的,我已经在回答中发布了它,但你们不介意,这就是我评论的原因,这是一个完美的答案,因为你们想在上面显示结果。你能接受我的回答吗?选择SUMmain_a.published,SUMmain_a.draft,SUMmain_a.trash FROM选择如果状态为'published',计数,0为published,如果状态为'draft',计数,0为draft,如果状态为'trash',计数*,0为posts GROUP BY status main中的垃圾_a@DeepakKumar嗯,这看起来像个答案,不是评论。是的,我已经在回答中发布了它,但你们不介意,这就是我评论的原因,这是一个完美的答案,因为你们想在上面显示结果。你能接受我的回答吗。