我想知道为什么我的函数不能使用sql,以及应用此标记的最佳方式是什么。代码如下:
$sql = "SELECT * FROM user ORDER BY user_id ASC, (SELECT * FROM user WHERE hits > 40 ORDER BY hits) DESC";我在下面提供了一个示例数据库。代码如下:
database user_id hits
2 0
4 3
5 20
6 43
9 2
3 45
7 23我希望它们的输出方式是这样的。代码如下:
output:
3
6
2
4
5
7
9基本上,我想为sql放2个不同的ASC标记。我该怎么做呢?
发布于 2014-07-27 00:17:49
我猜你会希望点击少于40次的用户按user_id升序排序,而超过40次的用户按hits降序排序吗?
如果是,请使用具有多个条件的order by:
order by (hits <= 40) desc,
(case when hits <= 40 then user_id end) asc,
(case when hits > 40 then hits end) desc;https://stackoverflow.com/questions/24972951
复制相似问题