mysql排序问题求助,急!

来源:百度知道 编辑:UC知道 时间:2024/06/17 01:34:36
mysql中一个表 里面有ID,USERID,CONTENT,TAG,TIMEDATA,verygood,good,ok,bad,sobad这么几项
其中后五项存储用户评论心情的次数,我现在需要排序是要通过计算后5项数值的结果来排序,结果是(2*verygood+good+0*ok-bad-2*bad),按照这个结果值升序或降序排列,如何实现?不改变表的结构
$sql_select = "SELECT id,content,tag FROM {$db_prefix}costinfo order by 2*verygood+good-bad-2*sobad limit 10";这句不行啊,网站没反应
$sql_select = "SELECT id,content,tag FROM {$db_prefix}costinfo order by verygood limit 10";这句是我原来的,就正常显示

一看你就连试都没试啊。就这么写

升序:
select * from 表名 order by 2*verygood+good+0*ok-bad-2*bad

降序:
select * from 表名 order by 2*verygood+good+0*ok-bad-2*bad desc

你的表结构确实需要改,后五项应该合并为一个字段为Rank或类似的,该字段允许的值为
Verygood:2
good:1
ok:0
bad:-1
sobad:-2

然后select * from myTable order by rank --(or desc )

select 2*verygood+good+0*ok-bad-2*bad as 心情次数 from 表名 order by asc/desc

或者
select * from 表名 order by 2*verygood+good+0*ok-bad-2*bad desc

ORDER BY ...