当一行包含特定数字时对行进行SQL计数
例如,如果我有一个名为tickets的表和一个名为ticketid的列。票证id包含数字,有时一个数字会出现多次,因为该票证可能有多个更新。我如何创建一个变量来输出一个ticketid,其中包含它发生的次数 例如: 票务编号:7当一行包含特定数字时对行进行SQL计数,sql,postgresql,Sql,Postgresql,例如,如果我有一个名为tickets的表和一个名为ticketid的列。票证id包含数字,有时一个数字会出现多次,因为该票证可能有多个更新。我如何创建一个变量来输出一个ticketid,其中包含它发生的次数 例如: 票务编号:7 TID:7 发生时间:2 SELECT ticketid, count(*) AS timesoccured FROM tickets -- WHERE ticketid = 7 -- to just get the one ... GROUP BY 1;
TID:7 发生时间:2
SELECT ticketid, count(*) AS timesoccured
FROM tickets
-- WHERE ticketid = 7 -- to just get the one ...
GROUP BY 1;
groupby1
是groupbyticket\u id
的简写语法通常,列
ticketid
在tickets
表中是唯一的。您的命名约定或数据模型遵循可疑的逻辑。假设TicketId不为NULL,您应该使用:
SELECT COUNT(*), ticketid
FROM tickets
GROUP BY ticketid;
SELECT TicketId, COUNT(TicketId) AS TicketIdCount
FROM [Table]
GROUP BY TicketId
如果您只想要重复的票据,请使用
having
select ticketid, count(*)
from tickets
group by 1
having count(*) > 1
请编辑您的问题并显示示例数据和所需结果。编辑问题时,请正确标记它。您使用的是MySQL还是Postgres?