在SQL查询中计算两列

时间:2014-03-17 22:47:32

标签: php mysql sql

我环顾四周,找不到任何可以解决我问题的事情。

我有两张桌子latlista和latlike。我想将我的查询基于latlista并计算latlista表中相同ID的次数,这可以使用下面的代码。

SELECT latlista.id, latlista.artist, latlista.lat, latlista.`user`, latlista.songadd, count(latlike.latid) AS LikeCount
FROM latlista LEFT JOIN latlike ON latlike.latid=latlista.id
GROUP BY latlista.id, latlista.artist, latlista.lat, latlista.`user`
ORDER BY LikeCount DESC

latlista表如下所示:

ID
latid
user

现在我也在同一个查询中想要计算使用我的会话变量MM_Username为同一个latid存在多少次相同的用户。

这是可能的,如果是这样的话?

希望我的jibberich有道理,否则请问!

1 个答案:

答案 0 :(得分:0)

这样的事可能吗?如果我正确理解你的问题..让我知道你是否需要改变这个..如果你确实提供了一些样本数据,以便我可以按照你想要的方式建立它

SELECT 
    l.id, 
    l.artist, 
    l.lat, 
    l.`user`, 
    l.songadd, 
    count(l.latid) AS LikeCount,
    (SELECT COUNT(latlista.id) FROM latlista WHERE latlista.`user` LIKE "your_uer_name_here") as num_times
FROM latlista as l LEFT JOIN latlike ON latlike.latid=l.id
GROUP BY l.id, l.artist, l.lat, l.`user`
ORDER BY LikeCount DESC