mysql:来自请求的组结果

时间:2017-03-16 20:24:57

标签: mysql sql

我的sql请求给了我:

snort -r pcap -c /etc/snort/snort.conf

enter image description here

我想对此结果应用另一个SQL,因此最终结果是'nonlus'上的总和

        SELECT 
        sf_guard_user.id, sf_guard_user.username, sf_guard_user.avatar_time, fromid, toid,sum(chatMessage.fromidlu) - sum(chatMessage.toidlu) as nonlus
        FROM chatMessage, sf_guard_user
        WHERE (chatMessage.fromid = sf_guard_user.id AND toid=16595 AND toidhidden=0) OR (chatMessage.toid = sf_guard_user.id AND fromid=16595 AND fromidhidden=0)
        GROUP by fromid

我试过

SELECT id, username, avatar_time, fromid, toid, sum(nonlus) FROM 
**this request**
order by id

但是得到错误

  

每个派生表都必须有自己的别名

1 个答案:

答案 0 :(得分:1)

您只需要为内部select指定别名,请尝试以下操作:

SELECT id, username, avatar_time, fromid, toid, sum(nonlus) FROM (
          SELECT 
            sf_guard_user.id as id, sf_guard_user.username as username, sf_guard_user.avatar_time as avatar_time, fromid, toid, sum(chatMessage.fromidlu) - sum(chatMessage.toidlu) as nonlus
            FROM chatMessage, sf_guard_user
            WHERE (chatMessage.fromid = sf_guard_user.id AND toid=16595 AND toidhidden=0) OR (chatMessage.toid = sf_guard_user.id AND fromid=16595 AND fromidhidden=0)
            GROUP by fromid) a
Group by a.id