我有一张表格如下:
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语句,所以我不确定如何解决这个问题。你能帮忙吗?
答案 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
)