繁体   English   中英

计算子查询的结果并在查询中使用

[英]Count result of Sub-query and Use it in Query

我有两个表information_business和business_likes。

表1id , name , address , dt_added具有字段id , name , address , dt_added等。

表2 --- business_likes具有字段id , business_id , user_id , status(1=> like , 0 => unlike)

如果某人喜欢某项业务,那么我要在business_likes表中插入新数据作为business_id,user_id和status = 1,并且如果同一个人不喜欢该行,则会进行更新。

现在我的问题是, 我想选择所有喜欢次数最多的公司,而最喜欢次数最少的公司是最后一个。

如果任何企业的零计数,那么所有零计数的企业都排在最后。

我尝试了很多查询,但对我没有用。

查询:

SELECT *, (SELECT COUNT(status)
FROM business_likes) AS business_likes_count
FROM `business_likes`
LEFT JOIN information_business ON information_business.id = business_likes.business_id
ORDER BY business_likes.id

尝试以下sql:如果您希望最高的价值排在首位,则可以group by on business id使用group by on business id使用ORDER BY business_likes_count DESC

     SELECT information_business.*,COUNT(status) as business_likes_count FROM `business_likes` JOIN information_business 
ON information_business.id= business_likes.business_id group by  business_likes.business_id ORDER BY business_likes_count DESC;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM