php - 如何在 CodeIgniter 3 中转换此查询
问题描述
我从以下网址获得了这段片段:http ://sqlfiddle.com/#!9/a9ec7e/4/0
它的作用是从表中获取所有数据,所有重复的行都将计为 1,最后只获取 ID/Item 的最新数据。
SELECT
p.*
FROM
(
-- For every product_id, find maximum created_at time
SELECT
product_id, max(created_at) AS created_at
FROM
purchases
GROUP BY
product_id
) AS mx
-- JOIN to the whole table
JOIN purchases p ON
mx.product_id = p.product_id AND mx.created_at = p.created_at
ORDER BY
product_id ;
真正的问题是,我怎样才能使它与 CodeIgniter3 查询一起工作?或者如何在 CodeIgniter3 中进行此查询。
我尝试使用$this->db->query(); 但没有运气。这是我使用上面的片段并更改了表名和列的图像。我的拍摄结果(图片):
解决方案
试试这个 :
$query = $this->db->query("SELECT p.* FROM (SELECT product_id, max(created_at) AS created_at FROM purchases GROUP BYproduct_id) AS mx
JOIN purchases p ON mx.product_id = p.product_id AND mx.created_at = p.created_at ORDER BY product_id");
return $query->result();
希望这有帮助
推荐阅读
- c - 如何使用 SDL2 在 C 中分离窗口创建和绘图功能?
- twig - 是否可以将 {% %} 的 twig 语言格式替换为:{%- -%}?
- java - 为什么 HttpsURLConnection 在连接到 WiFi 热点时会引发 SSL 异常?
- javascript - 在 Choropleth 中突出显示状态
- python - 从 python 到 kivy 的引用出错了
- python - 如何解决错误“模块pygame没有属性显示”
- html - 如何使用 Bootstrap 在具有固定高度的 div 中居中图像?
- c++ - 队列不添加对象 - C++ 11
- css - 如何为在传单地图上用作标记的 div 指定灵活宽度?
- security - 如何从 FTP 服务器获取文件?