首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >和行字段MEDOO

和行字段MEDOO
EN

Stack Overflow用户
提问于 2016-02-27 12:21:12
回答 1查看 1.2K关注 0票数 0

我正试着在我的作品中得到一个总结的领域。

目前,我的sql如下:

代码语言:javascript
复制
$database->debug()->select("user_rupees_in_house", [
    "[<]rupees" => ["rupee_id" => "ID"]
], [
    "name",
    "amount",
    "amount_spend"
], [
    "user_uuid"  => $user,
    "GROUP" => "rupee_id"
]);

调试记录以下语句:

代码语言:javascript
复制
SELECT `name`,`amount`,`amount_spend`, `rupee_id`
FROM `user_rupees_in_house` 
RIGHT JOIN `rupees` 
ON `user_rupees_in_house`.`rupee_id` = `rupees`.`ID` 
WHERE `user_uuid` = '4da9ff11-56ca3a2f-b3ab-a25b9230'
GROUP BY `rupee_id`

我想要实现的是:

代码语言:javascript
复制
SELECT `name`,SUM(`amount`),SUM(`amount_spend`), `rupee_id`
FROM `user_rupees_in_house` 
RIGHT JOIN `rupees` 
ON `user_rupees_in_house`.`rupee_id` = `rupees`.`ID` 
WHERE `user_uuid` = '4da9ff11-56ca3a2f-b3ab-a25b9230'
GROUP BY `rupee_id`

有人知道怎么用我的话说这个话吗?

编辑1

找到了另一种方法来实现这一点

代码语言:javascript
复制
// Get the rupee types
$rupee_types = $database->select("rupees", "ID");

foreach ($rupee_types as $rupee_type) {
    $amount = $database->sum("user_rupees_in_house", "amount", [
        "AND" => [
            "rupee_id" => $rupee_type,
            "user_uuid" => $user
        ]
    ]);

    // Build array of rupees
}

这将对数据库进行更多的调用,但只要SELECT语句不支持聚合函数,就可以正常工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-27 12:32:19

Medoo不支持SELECT语句中的聚合函数。使用raw查询代替。

试试这个:

代码语言:javascript
复制
$result = $database->query(
    "SELECT `name`,SUM(`amount`),SUM(`amount_spend`), `rupee_id`
    FROM `user_rupees_in_house` 
    RIGHT JOIN `rupees` 
    ON `user_rupees_in_house`.`rupee_id` = `rupees`.`ID` 
    WHERE `user_uuid` = '$user'
    GROUP BY `rupee_id`"
)->fetchAll();

参考文献

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35669707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档