【发布时间】:2018-01-01 12:39:41
【问题描述】:
为什么这段 SQL 代码不运行?
user_chats
id | user_id | to_user_id | ad_id | timestamp
----------------+---------+------------+---------+-----------
1 | 1 | 6 | 13 | 1513516133
user_messages
id | chat_id | text | user_id | timestamp
----------------+---------+------------+---------+-----------
1 | 1 | Hello | 1 | 1513516133
2 | 1 | Hi! | 6 | 1513516754
我想获取聊天并通过 user_messages.timestamp 对其进行排序。 我的 SQL 代码是:
SELECT user_chats.id,
user_chats.timestamp,
ad_id,
title,
user_chats.user_id
FROM user_chats
INNER JOIN ads
ON ads.id = ad_id
WHERE user_chats.user_id = "1"
OR user_chats.to_user_id = "1"
ORDER BY (SELECT id
FROM user_messages
WHERE chat_id = user_chats.id
ORDER BY user_messages.id DESC)
【问题讨论】:
-
你是说代码没有运行,还是没有产生预期的结果?
-
尝试删除最后一行并添加任何
user_chats.id, user_chats.timestamp, ad_id, title, user_chats.user_id和order by -
它给出一个错误:#1242 - 子查询返回超过 1 行
标签: php html sql sql-order-by