我在我的表中有一个字段“星星”。mysql排序位
1 means **
2 means ***
4 means ****
现在他们可以像3意味着2.5和6意味着3.5星。它只是两个相邻的值,所以像5不能发生。 这与输出效果很好。现在的问题是分拣。现在我只是和场上的明星们分道扬。。显然,这并不正常工作,因为正确的顺序是这样的:
2.5stars, 3stars, 3.5stars
但这些意味着:
3,2,6
全面正确的排序是这样的:
1,3,2,6,4,12,8,24,16
我有一个pagebrowser与限制和筛选一切,所以我不想选择所有行和手动排序。有没有办法在我的查询中直接进行这种排序?
编辑:
需要明确的是,这个来自按位..
00001 = **
00010 = ***
00011 == 2.5*
00100 = ****
为什么不把它作为一个整数存储?我看不出为什么你甚至想要做这样的事情? – ircmaxell 2011-03-07 14:39:55
疯狂的想法,但为什么不只是解决问题的来源(奇怪的1 = 2星,2 = 3开始等设置),而不是使用一些模糊的排序“修复”。 – 2011-03-07 14:40:43
这来自cms,不能真正改变它 – Flo 2011-03-07 14:42:59