怎样才能最大效率地实现这样的排序功能并分页?
程序是PHP,MySQL有如图的一张表。要根据一个ID list(ID可重复),取出含有对应ID的记录,并按照ID在list中出现的次数排序。
$id_list = '1,1,2,3,4,4,5,2,4';
$sql =
\"select * from tb
where hide=0 and id in ($id_list)
order by ??????
limit 1,4\";
...
怎样才能最大效率地实现这样的排序功能并分页?
程序是PHP,MySQL有如图的一张表。要根据一个ID list(ID可重复),取出含有对应ID的记录,并按照ID在list中出现的次数排序。
$id_list = '1,1,2,3,4,4,5,2,4';
$sql =
\"select * from tb
where hide=0 and id in ($id_list)
order by ??????
limit 1,4\";
...
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
5 回答1.4k 阅读
提供一个思路:
第一步,由于需要对ID出现的次数进行排序,因此我们需要统计$id_list当中单个id值出现的次数,所以我们可以定义一个function来完成这件事情:
第二步,MySQL提供了根据指定字段取值排序的方法
结合第一步,我们可以得出如下的代码: