php - 如何在 codeigniter 中执行分组和计数

标签 php mysql codeigniter activerecord

我有这张 table

-----------------------------
id | blog_link | source
-----------------------------
 1 | blog_one  | facebook
 2 | blog_one  | twitter
 3 | blog_two  | twitter
 4 | blog_four | unknown
 5 | blog_four | facebook
 6 | blog_four | twitter
-----------------------------

现在我想对此做一点分析,我希望输出是这样的

----------------------------------------
blog_link  | facebook | twitter | unknown
----------------------------------------
blog_one   | 1        | 1       | 0
blog_two   | 0        | 1       | 0
blog_three | 1        | 1       | 1
----------------------------------------
// above nos represent number of times facebook, twitter or unknown were the source

我已经在 mysql 上准备好了表,我想做的是如何在前端使用 codeigniter 显示表二,我现在可以使用 group by 和 count,但我无法放置正确的逻辑。

最佳答案

您可以使用以下查询,但不确定如何将其用作事件记录,但普通查询可以用作

select 
blog_link, 
coalesce(sum(source='facebook'),0) as facebook,
coalesce(sum(source='twitter'),0) as twitter,
coalesce(sum(source='unknown'),0) as unknown
from table_name group by blog_link ;

关于php - 如何在 codeigniter 中执行分组和计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29882941/

相关文章:

mysql - 从数据库中获取每天和每月的总销售额

php - 如何用css、mysql和codeigniter制作树形菜单

PHP/SQL - 查询关系数据库中的 ID,但能够使用 ORDER BY 在单独的数据库中查询这些 ID

java - 不完整的结果集数据

php - 将数组键及其值拆分为新变量

mysql - SQL - 如何忽略 $nb 结果?

javascript - 仅在脚本在 codeigniter 中完成执行后才重定向

php - 在 Codeigniter 应用程序中获取查询的行数

php - 一次插入多个表

php - 在 HTTPS 响应的正文中返回一个 JSON 对象