我有一个包含三列的数据库表(注释):id、ticket 和 user。
我需要显示每个用户输入了多少注释以及这些注释添加到的唯一票证(按用户分组)。例如,John Doe 将 100 个注释输入到 50 个唯一票证中,而 Jane Doe 将 70 个注释输入到 65 个唯一票证中。我对他们添加到哪些票不感兴趣,只是多少。
这是我到目前为止所拥有的。
select count(id) count
from notes
group by user
是否可以在同一查询中获取唯一票的数量?
我有一个包含三列的数据库表(注释):id、ticket 和 user。
我需要显示每个用户输入了多少注释以及这些注释添加到的唯一票证(按用户分组)。例如,John Doe 将 100 个注释输入到 50 个唯一票证中,而 Jane Doe 将 70 个注释输入到 65 个唯一票证中。我对他们添加到哪些票不感兴趣,只是多少。
这是我到目前为止所拥有的。
select count(id) count
from notes
group by user
是否可以在同一查询中获取唯一票的数量?
distinct在计数内使用:
select
user,
count(id) note_count,
count(distinct ticket) ticket_count
from notes
group by user
您可能是 SQL 新手。查询类似于:
select user, count(distinct TicketId) as NumTickets, count(id) as NumNotes
from notes
group by user
您应该在select子句中包含用户,这样您就知道这些数字适用于谁。在命名事物时,最好避免保留字如count,所以我命名为 onNumTickets和 other NumNotes。