我如何通过重复的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),
最佳答案
您可以找到每个 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`;
关于mysql - 按重复的 Secret_id 排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41366655/