Postgres GROUP BY with count返回文本的整数

时间:2019-05-10 06:04:54

标签: postgresql

我有一个Postgres表,它是我们网站上每个页面请求的日志。

我正在尝试在pgAdmin 4中编写一个简单的查询,以返回每个页面被点击多少次的计数。

SELECT Title, Count(*) FROM Log GROUP BY Title

我也尝试过

SELECT Title, Count(Title) FROM Log GROUP BY Title

但是返回的是

Title            Count
*text*           *big int* 

1000             12
10000            8  
10001            20
10002            32
. . . 
10019            23
1002             6
10021            34
10022            41 

..等等。

我没有想到的押韵或理由。

Title是一个文本字段。

我想看的是

Home    45
About   23

2 个答案:

答案 0 :(得分:0)

我想说它真的是 一个数字。您可能已经知道该数据库因无用而无用,并且该应用程序将log与另一个包含文本形式标题的表结合在一起。

您可能需要以下语句:

SELECT t.title, count(*)
FROM log AS l
   JOIN titles as t ON l.title = t.id
GROUP BY t.id, t. title;

答案 1 :(得分:0)

因此,我上周五发布了这个问题。周末过去了,我现在重新上班。我只是尝试了一次。

效果很好。标题没有数字的符号。

也许这是pgAdmin上的软件故障。也许我只需要重新启动postgres服务(如果它在实时服务器上发生,那将是一个非常可怕的错误)

Laurenz,这只是一个日志表。我已经看到了编写它的代码。只有一张桌子。

是最奇怪的数据库故障。您在上面的文章中看到的数字是按一定顺序排列的,但不像id值。

1000,10000,10001> 19999,2000,20000,20001,29999

Bizarre。

无论如何,感谢阅读本文的所有人,也感谢您对劳伦兹的答复。

我认为此问题已解决。.重新启动服务。