2011-03-09 117 views
0

我有一张收集客户付款的表。我想从前3名客户那里得到每个客户的付款。同一张表中的MySQL子查询

下面的查询获得每个客户每天每小时的总付款。下面

SELECT 
    hour(received) as hr, 
    login, 
    count(*) as total 
FROM 
    payment 
WHERE 
    received >= date("2011-02-24") 
AND 
    received <date("2011-02-25") 
AND 
    PAYMENT_BATCH_FILE_ID is null 
GROUP BY 
    hr, 
    client_id 
ORDER BY 
    hr, 
    total DESC 

查询获得前3名的客户端为每一个客户在一个小时内

SELECT 
    hour(received) as hr, 
    login, 
    count(*) as total 
FROM 
    payment 
WHERE 
    received >=date("2011-02-24") 
AND 
    received < date("2011-02-25") 
AND 
    PAYMENT_BATCH_FILE_ID is null 
AND 
    hour(received)="3" 
GROUP BY 
    hr, 
    client_id 
ORDER BY 
    hr, 
    total DESC 
LIMIT 3 

如何将两者结合起来的查询获得前3名的客户,使每个小时支付?

谢谢。

+1

有点失去了你在找什么...你想要前3名的客户吗?或者每天每小时(72个结果)还是?还有点在“一小时内让每位客户获得前三名客户”中输掉? – CarpeNoctumDC 2011-03-09 08:44:25

+0

我想在一天中的每个小时内获得3位客户的信息 – muhdazmilug 2011-03-10 00:36:04

回答