我有一个表(url_analyst),其中包含以下信息:
id | user_id | url_id | date | visits
----------------------------------------------------
1 | 2 | 5 | 2015-10-25 | 15
2 | 2 | 6 | 2015-10-25 | 18
3 | 2 | 5 | 2015-10-25 | 11
4 | 3 | 8 | 2015-10-25 | 22
5 | 3 | 9 | 2015-10-27 | 30
6 | 5 | 15 | 2015-10-25 | 15
等 我想要的是在新表格中获得更新/插入收入"收入" 收入计算1 $ / 10次访问
id | user_id | total_urls | date | total_visits | earning
-------------------------------------------------------------------
1 | 2 | 3 | 2015-10-25 | 44 | 4.4$
2 | 3 | 1 | 2015-10-25 | 22 | 2.2$
3 | 3 | 1 | 2015-10-27 | 30 | 3.0$
4 | 5 | 1 | 2015-10-25 | 15 | 1.5$
如何使用活动记录查询方法对CodeIgniter执行此操作?可以使用COUNT个总URL然后GROUP BY user_id AND Date,更新收入来完成吗?
答案 0 :(得分:2)
试试这个MySQL查询:
SELECT
user_id, count(url_id), date, sum(visits) as
total_visits, concat(sum(visits)/10,'$') as earning
FROM
url_analyst
GROUP BY
user_id, date
答案 1 :(得分:0)
考虑group_by
表中的所有url_analyst
列,
$this->db->select("SUM(total_url)");//if required select other fields
$this->db->group_by("url_analyst.user_id");
$this->db->group_by("url_analyst.date");
如果您希望group_by
中的任何列都有earning
,则可以更改group_by
子句中的表名