簡體   English   中英

將Join / Subselect查詢與SUM MYSQL查詢組合在一起

[英]Combine a Join/Subselect Query with a SUM MYSQL Query

第一個MYSQL查詢

-- selects the latest records by unique member_id
SELECT * FROM table t
JOIN (SELECT MAX( id ) AS id
FROM table
GROUP BY member_id) t2 ON t2.id = t.id
WHERE `t`.`timestamp` >= DATE_SUB(NOW(), INTERVAL 5 MINUTE)
ORDER BY t.id DESC
LIMIT 10 

第二。

-- sums the item_qt column by unique member_id
SELECT SUM(item_qt) AS sum_item_qt FROM table t
WHERE `t`.`timestamp` >= DATE_SUB(NOW(), INTERVAL 5 MINUTE)
GROUP BY member_id
ORDER BY t.id DESC
LIMIT 10 

有沒有辦法組合這兩個查詢,以便sum_item_qt加入member_id的?

我認為這個查詢應該為您提供所需的答案:

SELECT *
FROM table1 t
INNER JOIN
(SELECT MAX(id) AS id, SUM(item_qt) AS sum_item_qt
 FROM table1
 WHERE timestamp >= DATE_SUB(NOW(), INTERVAL 5 MINUTE)
 GROUP BY member_id) AS t2
ON t2.id = t.id
ORDER BY t.id DESC
LIMIT 10
SELECT  a.*, c.*
FROM    tableName a
        INNER JOIN
        (
            SELECT member_ID, max(ID) maxID
            FROM tableName
            GROUP BY member_ID
        ) b ON  a.member_ID = b.member_ID AND
                a.ID = b.ID
        INNER JOIN
        (
            SELECT  member_ID, SUM(item_qt) sum_item_qt 
            FROM    tableName
            WHERE   timestamp >= DATE_SUB(NOW(), INTERVAL 5 MINUTE)
            GROUP BY member_id
        ) c ON  a.member_ID = c.member_ID
-- WHERE
-- ORDER BY
-- LIMIT

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM