剩下的空间用于SQL项目

时间:2013-04-28 19:59:07

标签: mysql sql

我需要一些帮助 问:最好在1个查询中获取项目的总剩余空间

Grops, items
Group can contain only MaxAllowed items

Groups table
(ID, MAXAllowerdItems)

Items
(ID, Group_ID, Name)

这不是正确的查询,而是起点

select SUM(g.MaxAllowedItems - count(*)),  
from FROM items i, Groups g
where g.ID=i.Group_ID
GROUP BY i.Group_ID
HAVING g.MaxAllowedItems > count( * ) 

1 个答案:

答案 0 :(得分:1)

我认为你需要这样的东西:

SELECT
  groups.ID,
  MAX(MAXAllowerdItems) - COUNT(items.Group_ID) as remaining_spaces
FROM
  groups LEFT JOIN items
  ON groups.ID = items.Group_ID
GROUP BY
  groups.ID
HAVING
  remaining_spaces > 0

MAX(MAXAllowerdItems)将始终具有相同的MAXAllowerdItems值,COUNT(items.Group_ID)将是该组ID的已使用行数。

请参阅小提琴here