我的数据库中有两个表:
╔════════════════╗
║ beer ║
╠════════════════╣
║ id ║
║ name ║
║ ... ║
╚════════════════╝
╔════════════════╗
║ checkin ║
╠════════════════╣
║ id ║
║ beer_id ║
║ user_id ║
║ date ║
║ ... ║
╚════════════════╝
我做了一个简单的查询,返回啤酒被检入的次数:
SELECT COUNT(c.id) as TOTAL, b.*, c.*
FROM beer b
JOIN checkin c ON c.beer_id = b.id
GROUP BY c.beer_id
ORDER BY TOTAL DESC
修改它的最佳方法是什么,以便返回的“总计”计数由唯一的用户进行(如果一个用户有多个相同啤酒的签入,那么应该只计算一次)?
1条答案
按热度按时间b1uwtaje1#
按beerid分组计算不同的用户数。