我正在尝试使用以下查询将计数作为额外的列打印出来:
SELECT Member.memberID, Member.lastname, Member.firstname
FROM CurrentLoan
JOIN Member ON CurrentLoan.memberID = Member.memberID
WHERE CurrentLoan.memberID = Member.memberID
GROUP BY Member.lastname
HAVING COUNT( Member.memberID) ;
现在,我将其设置为查询从CurrentLoan表中获取memberID,从Member表中获取相应的名字和姓氏并将其列出的位置,但是我需要获取每个成员的数量(例如成员已购买的书籍)
有小费吗?
最佳答案
您当前的查询似乎在正确的轨道上,但是如果您希望每个成员的图书计数,则必须选择它:
SELECT
m.memberID,
m.lastname,
m.firstname,
COUNT(c.memberID) AS book_cnt
FROM Member m
LEFT JOIN CurrentLoan c
ON m.memberID = c.memberID
GROUP BY
m.memberID;
计数表达式
COUNT(c.memberID)
很重要,因为它正在计数联接表CurrentLoan
中的记录。如果某个成员没有书本,则该计数表达式将报告为零。还要注意,我们在这里离开了join,以确保我们不会丢弃目前碰巧没有书的任何成员。关于mysql - 在表SQL中创建和打印计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48801127/