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

时间:2017-01-10 09:42:29

标签: mysql

我有两个表information_business和business_likes。

表-1 : - information_business有字段com等。

表-2 : - business_likes包含字段id , name , address , dt_added

如果某人喜欢某个商家,我会在business_likes表中插入新数据作为business_id,user_id和status = 1,如果同一个人不喜欢该行,则会更新。

现在我的问题是我想要选择所有喜欢的商家,其中最喜欢的是第一个,最喜欢的商数是最后一个。

如果任何业务的计数为零,则所有零计数的业务都在最后。

我尝试了很多查询,但对我来说没什么用。

查询:

id , business_id , user_id , status(1=> like , 0 => unlike)

1 个答案:

答案 0 :(得分:2)

试试这个sql:如果你想要最高价值,你可以使用group by on business idORDER 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;