找了 Stackoverflow 上的方法: http://stackoverflow.com/questions/3531251/using-union-and-order-by-clause-in-mysql http://stackoverflow.com/questions/30566469/combine-two-mysql-queries-with-two-different-order-by-statements
出来的结果跟没排序一样,请问大家有什么好的办法没有?
1
loading 2017-02-25 18:07:12 +08:00
我不擅长 SQL ,所以我都会配合程序处理。
|
2
rockpk008 2017-02-25 18:11:35 +08:00 via iPhone
有些忘记了, with as 应该可以吧。
|
3
billlee 2017-02-25 18:27:44 +08:00
前段时间刚写过类似的,不知道有没有更好的办法
SELECT ... FROM (( SELECT ... FROM ... ORDER BY ... LIMIT 0, ? ) UNION ( SELECT ... FROM ... ORDER BY ... LIMIT 0, ? ) ) ORDER BY ... LIMIT ?, ? |
4
shoaly 2017-02-25 19:31:52 +08:00
拆开逻辑吧
分别 sql 取到 2 个 数组里面, 然后 数组在合并 在排序. 否则就算 sql 整在一起 一起喝成写完之后, 过两天就忘记了, 再也没办法维护 |
5
ebony0319 2017-02-26 09:04:48 +08:00 via Android
增加一个标记位就可以了,最后对标记位排序。
|