我有2个表:用户和评论。
create table user(
userID int auto_increment,
userName varchar(10),
userCreatedDate timestamp,
primary key(userID)
);
create table comment(
commentID int auto-increment,
userID int,
comment varchar(100),
primary key(commentID),
foreign key(userID) references user(userID)
);
我想从数据库中找到最近的评论:
但是,我尝试了这样,无法得到我的输出:
select u.userID, c.commentID, u.userCreateDate
from comment c
left join userID u on c.userID = s.userID
order by u.userCreateDate desc
我应该如何修改以便获得输出?
答案 0 :(得分:2)
您不想通过userCreateDate
表格中的user
订购,因为所有评论都是相同的。如果您拥有commentCreateDate
本来不错,但由于您没有,您可以通过commentID
订购。
更改
order by u.userCreateDate desc
到
order by c.commentID desc
编辑添加:
您还需要更改您的选择以获得实际评论。
select u.userID, c.commentID, u.userCreateDate
应该是
select u.userID, c.commentID, c.comment, u.userCreateDate
获得所需的输出。另外,我不认为您希望在输出中包含userCreateDate
,因为人们可能会将其与评论的撰写日期混淆。