‘壹’ mysql排序语句,
可以加一个辅助排序的字段,如下:
selectname,sex,bh,haoma,room_id_1,
case
whenhaoma>=23then
haoma-23+1.5
else
haoma
endfsort
frombaoming_list_chuzhong
whereroom_id_1='$room_id_1'
orderbyfsort
通过辅助的字段 fsort 来排序,不清楚你的 haoma 是什么类型的,如果是非数字型,需要转为数字类型,再进行排序。希望可以帮到你。
‘贰’ 地理位置经纬度在Mysql中用什么字段类型来存,BOOLEAN DOUBLE
selectwei,jingfromtestorderbr((wei-100)*(wei-100)+(jing-100)*(jing-100));wei是纬度字段,jing是经度字段,test是你存的表,现在查的是离(100,100)这个点由近到远排序的
‘叁’ mysql中如何取得某一记录在某一条件排序中的位次
楼上的有错,现更正如下:
SELECT count(*)+1 as 名次
FROM 成绩表
WHERE (语文 >
(SELECT 语文
FROM 成绩表
WHERE name = '小明'))
‘肆’ 关于mysql数据库排序的问题
那要看你的表是怎么构建的
一般这汇总情况我认为
你的id应该是自增的吧
如果是自增
那么
插入一个数据的话
就是id等于4的那个行
切
你的
desc字段应该就是
用来
排序用的吧
那么
在前台
你可以
做一个input框(每行后边都有个input框)
目的就是为了
排序你的数据
在这种情况下
就不需要改动什么字段了吧
唯一需要改动的字段内容
就是
更新
desc的字段就可以了吧
打个比方
原来是这样的
id
name
desc
1
a
0
2
c
3(改动)
3
b
2(改动)
4
d
1(追加在a后)
修改后
按
name
a
b
c
d
这么排列
id
name
desc
1
a
0
3
b
1
2
c
2
4
d
3
这是在前台显示的内容
在数据库里
你可以看到实际上
改变的
只有
desc
后边的
0
1
2
3
这几个
而数据库的表中
实际数据的位置是不会发生变化
其实你不用担心什么数据量过多的问题
且
在插入新的数据的时候
就让他的desc值默认是最大的
也就是最后一位显示
‘伍’ 如何根据MYSQL数据库中的某一个字段进行排序呢
先把分类全取出来,并随机排序,取排在第一个分类。
例如:西装
然后查询的时候 order by (category='西装') desc,category 即可实现要求。
‘陆’ 关于mysql排序
在执行查询结果时,默认情况下查询结果无序排列。但我们有时需要对数据按一定规则进行排序。这时可以通过ORDER BY子句来实现这个功能。语法如下:
SELECT<*,column [alias],...>FROMtable
[WHEREcondition(s)]
[ORDER BY column[ASC|DESC]];
默认是ASC指定的升序排列,DESC用来指定降序排列。
1、升序排序:
使用ORDER BY子句时,默认情况下数据是按升序排列的,故可以用ASC关键字指点升序排列,或者不指定,默认就是升序,显示效果是一样的,如下图:
‘柒’ mysql数据库怎么可以两个条件排序
今天又测试了一下,使用utf8字符集创建的表或者字段使用的是utf8字符集,中文的排序是不正确的,如果表和字段是gbk字符集,则可以正确的排序。
mysql>
create
table
tt_character
(name
varchar(20))
default
charset
gbk;
Query
OK,
0
rows
affected
(0.03
sec)
mysql>
create
table
tt_character1
(name
varchar(20))
default
charset
utf8;
Query
OK,
0
rows
affected
(0.04
sec)
mysql>
insert
into
tt_character
values('兰州'),('安徽'),('江西');
Query
OK,
3
rows
affected
(0.00
sec)
Records:
3 Duplicates:
0 Warnings:
0
mysql>
insert
into
tt_character1
values('兰州'),('安徽'),('江西');
Query
OK,
3
rows
affected
(0.00
sec)
Records:
3 Duplicates:
0 Warnings:
0
mysql>
select
*
from
tt_character1
order
by
name;
+------+
|
name
|
+------+
|
兰州
|
|
安徽
|
|
江西
|
+------+
3
rows
in
set
(0.00
sec)
mysql>
select
*
from
tt_character
order
by
name;
+------+
|
name
|
+------+
|
安徽
|
|
江西
|
|
兰州
|
+------+
3
rows
in
set
(0.00
sec)