按重复的secret_id排序

时间:2016-12-28 17:09:06

标签: mysql sql

我如何通过重复的secret_id订购此表:

这个表是我网站的喜欢的表,有一些帖子,人们可以通过按钮喜欢它,并在我的数据库中搜索喜欢帖子的IP以及他的secret_id。

id的重复对应于有时候喜欢的帖子。

所以我想按最重复的secret_id订购。我怎么能这样做?

我想在我的html页面上使用php代码订购

例如:SELECT * FROM .... ORDER BY .....

INSERT INTO `likes` (`id`, `ip`, `secret_id`) VALUES
(1, '95.234.109.87', 3),
(2, '95.234.109.87', 7),
(3, '95.234.109.87', 6),
(4, '95.234.109.87', 1),
(5, '91.252.43.7', 7),
(6, '91.252.43.7', 4),
(7, '91.252.43.7', 3),

2 个答案:

答案 0 :(得分:2)

您可以为每个secret_id找到计数,将其与主表一起加入并按其计数如下:

select t1.*
from likes t1
inner join (
    select `secret_id`, count(*) cnt
    from likes
    group by `secret_id`
) t2 on t1.`secret_id` = t2.`secret_id`
order by t2.cnt desc, t1.`id`;

答案 1 :(得分:0)

试试这个:

public Coordinate findNextByDirection(Direction a)

如果它们被重复,它应该将所有的secret_id分组,然后,计算ammount并命令它们知道重复了多少secret_id。

希望就是你想要的。