*,
ROUND(
6371.393 * 2 * ASIN(
SQRT(
POW(
SIN(
(
39.9109245473 * 3.1415926 / 180 - lat * PI() / 180
) / 2
),
2
) + COS(39.9109245473 * 3.1415926 / 180) * COS(lat * PI() / 180) * POW(
SIN(
(
116.41338369712 * 3.1415926 / 180 - lon * PI() / 180
) / 2
),
2
)
)
) * 1000
) AS num
FROM
bbs_self_tide_gangname
ORDER BY
num ASC
select name,desc,count(desc) as c from tmp_table group by name,desc order by c desc limit 9把name放在前面就是优先给name排序,name一样的就按后面的desc排序。
这个句子就能满足你的要求。
3.以count(desc)的多少排列name
不知道这句话什么意思。不过对你想要的结果没有什么影响。
另外,列名不要用desc。desc 是数据库中的一个关键字。原则上最好不要用来做列名。
------------------------补充-----------------------
满足你的第三个条件也很容易,
group by name,desc 变成
group by name,count(desc)就可以了
2.1 排序方式
数据量小则在内存排序, 数据量大则使用磁盘排序
内存排序 : 直接使用"快速排序"
磁盘排序 : 先将数据分块, 对每个独立的块使用"快速排序", 并将各个块的排序结果存在磁盘上, 然后将各个排好序的块进行合并(merge), 最后返回排序结果
2.2 排序算法
3. 注意点 :
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)