SQL Count不同?

时间:2011-03-26 10:03:03

标签: mysql sql

我有一张表格如下:

id - tag_id - post_id
1  -    1   -  3
2  -    1   -  6
3  -    1   -  2
4  -    2   -  3
5  -    2   -  9
6  -    1   -  7

我想编写一个mySQL语句,找出引用标记的次数。

然后我会用PHP来格式化结果。 tag # was referenced # times,它们将按# times的顺序排序。

我对MySQL的能力仅限于非常基本的SELECT,INSERT,UPDATE和DELETE语句,所以我不确定如何解决这个问题。你能帮忙吗?

3 个答案:

答案 0 :(得分:4)

select tag_id, count(*)
from mytable
group by tag_id
order by count(*) desc

这会按照(*)降序排序您的结果,这意味着包含大多数帖子的标签会显示在最上面的行中。

答案 1 :(得分:2)

SELECT tag_id, COUNT(*) FROM table GROUP BY tag_id会为您计算每个代码ID

答案 2 :(得分:1)

要获取标签和每个标签的帖子数量,按降序排序,您可以使用以下查询:

select tag_id, count(*) as num
from your_table
group by tag_id
order by count(*) desc

(当然,如果您想要相同的数据,但按升序排序,只需删除desc子句中的order by