mysql - 使用 Union SQL 排序
问题描述
SELECT to_user_id AS sender_id
FROM $chat_table_name
WHERE((to_user_id = $current_user_id OR from_user_id = $current_user_id) and post_id=$post_id)
UNION
SELECT from_user_id AS receiver_id
FROM $chat_table_name
WHERE( (from_user_id = $current_user_id OR to_user_id = $current_user_id) and post_id=$post_id )
order by chat_message_id DESC
如何使用此查询实现 order by
解决方案
如果我的问题正确,您想单独订购单独的 SELECT,并且不能在每个语句中使用两个 ORDER BY 子句,而是为每个 SELECT 添加一个额外的整数列,如下所示:
SELECT *, 1 as orderBy from t1
UNION ALL
SELECT *, 2 as orderBy from t2
ORDER BY orderBy desc.
推荐阅读
- python - 如何设置 tk.simpledialog 的背景颜色?
- python - 哈希表和 Python 字典有什么区别?
- php - 加载资源失败:服务器响应状态为 500(内部服务器错误) - php
- swift - SwiftUI - 当我在蓝牙中扫描设备时选择特定服务
- python - ElementNotInteractableException:消息:元素不可交互
- python - 有哪些选项可以为 AWS 上的 Pandas 设置自动报告流程?
- python - Pandas 和 NLTK:如果 NLTK 标记中包含子字符串,则用相邻列的子环替换空单元格
- typescript - 保护联合类型中的未定义不起作用
- docker - Dockerized Web 应用程序在 http 调用上花费的时间太长
- ios - iOS App 处理后被拒绝。UIWebView 问题?