当一行包含特定数字时对行进行SQL计数

当一行包含特定数字时对行进行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;

例如,如果我有一个名为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;
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?