MySQL如何为查询结果添加固定静态行并排序?
直接用MySQL语句实现需求
完全不需要借助外部脚本,仅用MySQL语句就能实现你的需求。核心思路是用UNION ALL把原查询结果和你要添加的指定行拼接起来,最后统一排序。
由于你明确原查询结果里不会包含linked_user_id='1234'对应的user_id值,所以用UNION ALL(不需要去重)比UNION更高效。
完整的SQL语句如下:
SELECT user_id FROM user_links WHERE linked_user_id='1234' UNION ALL SELECT '1234' AS user_id ORDER BY user_id ASC;
如果user_id是整数类型,记得去掉引号,避免不必要的类型转换:
SELECT user_id FROM user_links WHERE linked_user_id=1234 UNION ALL SELECT 1234 AS user_id ORDER BY user_id ASC;
内容的提问来源于stack exchange,提问作者MarcusDeroy
相关产品推荐
相关产品推荐

