Sql where子句之前的GROUPBY和排序?
我有一个如下所示的数据库:Sql where子句之前的GROUPBY和排序?,sql,Sql,我有一个如下所示的数据库: ID parent ticket category _record_status _log_user _log_timestamp _log_type ------------------------------------------------------------------------------------------------ 1 1 1 1 active
ID parent ticket category _record_status _log_user _log_timestamp _log_type
------------------------------------------------------------------------------------------------
1 1 1 1 active 1 2012-01-29 15:49:21 create
2 1 1 1 deleted 1 2012-01-29 15:52:14 destroy
3 3 1 2 active 1 2012-01-29 15:58:43 create
我希望能够为指定票证选择所有未删除的记录。然而,由于修订制度的原因,这是很困难的
有没有一种方法可以通过SQL高效地实现这一点,或者考虑到每张票证平均只有几条记录,用PHP实现这一点会更好。我怀疑任何一张彩票在它的有生之年都不会获得超过100张唱片 选择*
select *
from YourTable
where _record_status <> 'deleted'
and ticket = @yourTicketId
从你的桌子上
其中_记录_状态为“已删除”
而ticket=@yourTicketId
这就是你要找的吗???选择*
从你的桌子上
其中_记录_状态为“已删除”
而ticket=@yourTicketId
这就是你想要的吗???Sql
SELECT .....
FROM .....
WHERE _record_status!="deleted" AND ticket=X
Sql
我真的不明白你的描述。给定您的示例数据,您希望的输出是什么?(我假设您不只是想要
从uuuuuuuuuuuuuuuuuuuuuuuuuuuuu哪里票证=uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu和u记录u状态“已删除?您的示例的预期输出可能会有所帮助。就目前情况而言,选择*where ticket=1和_record_status“deleted”似乎可以做到这一点……你为什么不能只使用“where”子句呢?是的,我正忙于思考我的其他表,以至于意识到这一个其实很简单。我会把我的问题放在另一张桌子上。我真的不明白你的描述。给定您的示例数据,您希望的输出是什么?(我假设您不只是想要从uuuuuuuuuuuuuuuuuuuuuuuuuuuuu哪里票证=uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu和u记录u状态“已删除?您的示例的预期输出可能会有所帮助。就目前情况而言,选择*where ticket=1和_record_status“deleted”似乎可以做到这一点……你为什么不能只使用“where”子句呢?是的,我正忙于思考我的其他表,以至于意识到这一个其实很简单。我将用另一个表重新发布我的问题。我认为它更复杂,因为它看起来像一个记录可以被删除和取消删除。请参阅我的答案(使用exists)@Shark,这实际上适用于这个特定的表,但我还有其他表,其中有实际的修订。出于某种原因,我对这个问题想得太多了……我认为它更复杂,因为它看起来像是一个可以被删除和取消删除的记录。请参阅我的答案(使用exists)@Shark,这实际上适用于这个特定的表,但我还有其他表,其中有实际的修订。出于某种原因,我想得太多了。。。。