SQL计算所有行而不是计算单个行

SQL计算所有行而不是计算单个行

我有一个SQL语句,它从数据库中请求数据。

SELECT `ID`, `To`, `Poster`, `Content`, `Time`, ifnull(`Aura`,0) as `Aura` FROM (
    SELECT * FROM (
        SELECT DISTINCT * FROM messages m        INNER JOIN
        (
            SELECT Friend2 as Friend FROM friends WHERE Friend1 = '1'
            UNION ALL
            SELECT Friend1 as Friend FROM friends WHERE Friend2 = '1'
        ) friends ON m.Poster = friends.`Friend`
        UNION ALL SELECT DISTINCT *, '1' FROM messages where `Poster`='1'
    ) var    LEFT JOIN
    (
        select `ID` as `AuraID`, `Status` as `AuraStatus`, count(*) as `Aura`
            from messages_aura    ) aura ON (var.Poster = aura.AuraID AND var.ID = aura.AuraStatus)) finalGROUP BY `ID`, `Poster`ORDER BY `Time` DESC LIMIT 10

这是我的messages_aura表格布局。它显示IDStatusUserID

以下是上述声明的输出。

ID从上面的截图参考Poster下面的以及Status上面的截图参考ID下面)

该陈述应该给出底行的Aura计数1和顶行的Aura计数2。怎么了?


天涯尽头无女友
浏览 527回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP