加入两个表和总计数记录

时间:2014-10-05 23:45:01

标签: mysql join record min

我需要加入两个表,我的表:

表1

user           ip                  amount          time    
user1       10.12.130.14            5000         1409007653
user2       10.12.130.13            2000         1309007653
user3       10.12.130.12            4000         1209007653
user4       10.12.130.11            6000         1109007653
...

表2

ref             ip                      time    
ref1         10.12.130.14             1209007653
ref1         10.12.130.13             1109007653
ref1         10.12.130.12             1309007653
ref2         10.12.130.11             1409007653
...

我需要结果:( foreach all ref)

ref              allcount          todaycont           allsum          todaysum     
ref1                 3                 1                11000             5000 
ref2                 1                 0                6000                0 
...

我写的代码但不完整:

$query  =   mysql_query("SELECT table2.ref, table1.user 
FROM 
table2 INNER JOIN table1 
ON 
table2.ip = table1.ip 
") or die(mysql_error());

1 个答案:

答案 0 :(得分:0)

未经测试,但根据我对您的问题的解释,这应该有效:

SELECT
    A.ref,
    COUNT(*) allcount,
    CASE
        WHEN DATE_FORMAT(A.time,'%m-%y') = DATE_FORMAT(NOW(),'%m-%y')
            THEN COUNT(*)
    END todaycount,
    SUM(A.amount),
    CASE
        WHEN DATE_FORMAT(A.time,'%m-%y') = DATE_FORMAT(NOW(),'%m-%y')
            THEN SUM(A.amount)
    END todaysum
FROM table1 A
JOIN table2 B
    ON A.ip = B.ip
GROUP BY
    B.ref

我不确定的最大部分是案例陈述中的日期/时间段。这主要是由于我不熟悉您在表中使用的日期/时间格式,如果针对您的数据类型进行了适当调整,它们应该可以正常工作。