MySQL中每个外键的最高记录

时间:2011-03-29 09:25:58

标签: mysql

我在MySQL中有一个表,其中包含以下列

表 - 评论

Review_Id
Business_Id
Title
Description
Useful_Count

特定的business_id(外键)可以有很多评论。我想要的是在给定一组业务ID

的情况下从DB中提取此信息
  1. 每个业务ID的总审核次数
  2. 每个业务ID的最高评论(主要是标题和说明)(热门评论将是有效数量最多的评论。
  3. 是否可以使用单个SQL查询获取这两种信息?

2 个答案:

答案 0 :(得分:0)

  1. 根据业务ID
  2. 从评论组中选择计数(业务ID)

答案 1 :(得分:0)

试试这个:

SELECT r.Business_Id, t.c AS 'Number of Reviews', 
    r.Title, r.Description, t.max_useful_count 
FROM Reviews r
JOIN (SELECT Business_Id, COUNT(Business_Id) AS c, 
        MAX(Useful_Count) AS max_useful_count
      FROM Reviews
      WHERE r.Business_Id IN (...)
      GROUP BY Business_Id) as t
  ON r.Business_Id = t.Business_Id
  AND r.Useful_Count = t.max_useful_count