【问题标题】:How to perform group by and count in codeigniter如何在codeigniter中执行分组和计数
【发布时间】:2015-04-26 20:10:16
【问题描述】:

我有这张桌子

-----------------------------
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 显示表 2,我现在可以使用 group by 和 count 但我无法放置正确的逻辑。

【问题讨论】:

  • 我会使用类似于@Abhik Chakraborty 建议的查询,并简单地使用$this->db->query() 确保转义任何用户输入,因为它没有在query() 方法中转义。

标签: php mysql codeigniter activerecord


【解决方案1】:

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

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 ;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-13
    • 1970-01-01
    • 2016-01-30
    • 1970-01-01
    • 2020-09-10
    • 1970-01-01
    相关资源
    最近更新 更多