小编Mer*_*mir的帖子

Mysql离开了join和sum

我有三张桌子,我需要单独金额.此外,我将使用select或where子句中的字段.

SELECT i.*, x.* FROM items AS i 
 LEFT JOIN
 (
   SELECT
   p.item_id
   ,SUM(p.amount) AS saleAmount
   ,SUM(IF(p.type=1,pa.amount,0)) AS paidAmount
   FROM payments AS p
   LEFT JOIN payment_actions AS pa ON pa.payment_id=p.id
   GROUP BY p.id
) AS x ON x.item_id=i.id
Run Code Online (Sandbox Code Playgroud)

物品表;

id  
---
1
Run Code Online (Sandbox Code Playgroud)

付款表;

id  |   item_id |   amount
---------------------------
1   |   1       |   300 
Run Code Online (Sandbox Code Playgroud)

payment_actions表;

id  |   payment_id  |   amount
---------------------------
1   |   1           |   100 
1   |   1           |   50
Run Code Online (Sandbox Code Playgroud)

结果应该是;

saleAmount  | paidAmount
--------------------------
    300     |   150
Run Code Online (Sandbox Code Playgroud)

mysql sum left-join

6
推荐指数
1
解决办法
2万
查看次数

删除所有文件,包括3个月以上PHP子目录中的文件

我的网络服务器上有一个'cache'文件夹,其中存储.html文件,文件结构如下:

cache > user@gmail.com > several .html files.
Run Code Online (Sandbox Code Playgroud)

我需要一个PHP脚本,它将浏览用户文件夹中的所有子目录并删除超过3个月的文件.

到目前为止我有这个脚本:

$DIR = '/cache/';
if ($handle = opendir($DIR)) {

    while (false !== ($file = readdir($handle))) {
        if ( filemtime($DIR.$file) <= time()-60*60*24*120 ) { //120 days?
           unlink($DIR.$file);
        }
    }

    closedir($handle);
}
Run Code Online (Sandbox Code Playgroud)

但它不处理子目录.它也给了我错误,因为它试图取消联系导演..

更新:尝试添加计数功能:

<?php

rrmdir(/www/deletecontentsofthisfolder/);
echo $count . ' files deleted!';

function rrmdir($dir,$count=0) 
{
    if (is_dir($dir)) 
    {
        $objects = scandir($dir);
        foreach ($objects as $object) 
        {
            if ($object != "." && $object != "..") 
            {
                if (filetype($dir."/".$object) == "dir") rrmdir($dir."/".$object,$count);
                if (filemtime($dir."/".$object) <= …
Run Code Online (Sandbox Code Playgroud)

php

0
推荐指数
1
解决办法
2750
查看次数

标签 统计

left-join ×1

mysql ×1

php ×1

sum ×1