mysql - 在 laravel 中如何在 group by 之前进行排序?

标签 mysql laravel laravel-5 laravel-5.3 eloquent

我的情况与此相同:Sort data (order by) before group by in mysql

我尝试了所有答案,并从@Justin 找到了最佳答案

mysql 中的答案是这样的:

SELECT t1.*
FROM prd_data t1
WHERE t1.id = (SELECT t2.id
               FROM prd_data t2
               WHERE t2.sub_prd_id= t1.sub_prd_id
               ORDER BY t2.created_at DESC
               LIMIT 1)

我尝试过sql查询并且它有效

但是如何将sql查询转换为laravel eloquent呢?

我发现在laravel eloquent中转换sql查询很困难。因为查询很复杂

如何解决这个问题?

最佳答案

如果你想使用sql查询,你可以简单地使用DB::select()

DB::select("SELECT t1.* FROM prd_data t1 WHERE t1.id = (SELECT t2.id
           FROM prd_data t2
           WHERE t2.sub_prd_id= t1.sub_prd_id
           ORDER BY t2.created_at DESC
           LIMIT 1)");

关于mysql - 在 laravel 中如何在 group by 之前进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46560729/

相关文章:

java - 来自 Spring MVC 中 LocalDateTime(java 8) 的 Json 字符串

php - 如何在mysql中添加和插入值

php - 在 Laravel 5.3 中强制换行

php - Laravel 无法从 crontab 调度作业

java - PreparedStatement 和 CURDATE() MySQL 函数

mysql - 如何使用 Grails 2.0 获得可为空的约束?

Laravel - 如何删除 Laravel 中的空白

php - 如何过滤 Eloquent 结果并保留一些特定的列(有关系)

node.js - 我无法在 Homestead 虚拟机中安装 laravel-elixir

php - Laravel 按类别对用户实体进行分组