Script: $tickets->LimitOwner(VALUE => '96'); $tickets->LimitStatus(VALUE => "open"); $tickets->LimitStatus(VALUE => "new"); $tickets->OrderBy(FIELD => 'Priority', ORDER => 'DESC'); while (my $Ticket = $tickets->Next) { print $Ticket->id . "\n"; } Results ===================== SearchBuilder 0.92: MySQL Query Log 031030 17:14:37 101 Connect rt_user@localhost on rt3 101 Query SELECT * FROM Users WHERE Name = 'RT_System' 101 Query SELECT * FROM Users WHERE Name = 'Nobody' 101 Query SELECT * FROM Queues WHERE Name = 'Incoming' 101 Query SELECT * FROM Users WHERE id = '96' 101 Query SELECT main.* FROM Tickets main WHERE ((main.EffectiveId = main.id)) AND ((main.Type = 'ticket')) AND ( ( (main.Owner = '96') ) AND ( (main.Status = 'new')OR(main.Status = 'open') ) ) ORDER BY main.Priority DESC 101 Query SELECT * FROM Queues WHERE id = '10' 101 Query SELECT * FROM Users WHERE id = '1' 101 Query SELECT * FROM Principals WHERE ObjectId = '1' AND PrincipalType = 'User' 101 Query SELECT ACL.id from ACL, Groups, Principals, CachedGroupMembers WHERE (ACL.RightName = 'SuperUser' OR ACL.RightName = 'ShowTicket') AND Principals.Disabled = 0 AND CachedGroupMembers.Disabled = 0 AND Principals.id = Groups.id AND Principals.id = CachedGroupMembers.GroupId AND CachedGroupMembers.MemberId = '1' AND ( ACL.ObjectType = 'RT::System' OR (ACL.ObjectType = 'RT::Queue' AND ACL.ObjectId = '10')) AND ( ( ACL.PrincipalId = Principals.id AND ACL.PrincipalType = 'Group' AND (Groups.Domain = 'SystemInternal' OR Groups.Domain = 'UserDefined' OR Groups.Domain = 'ACLEquivalence' OR Groups.Domain = 'Personal')) ) LIMIT 1 101 Query SELECT * FROM Queues WHERE id = '6' 101 Query SELECT ACL.id from ACL, Groups, Principals, CachedGroupMembers WHERE (ACL.RightName = 'SuperUser' OR ACL.RightName = 'ShowTicket') AND Principals.Disabled = 0 AND CachedGroupMembers.Disabled = 0 AND Principals.id = Groups.id AND Principals.id = CachedGroupMembers.GroupId AND CachedGroupMembers.MemberId = '1' AND ( ACL.ObjectType = 'RT::System' OR (ACL.ObjectType = 'RT::Queue' AND ACL.ObjectId = '6')) AND ( ( ACL.PrincipalId = Principals.id AND ACL.PrincipalType = 'Group' AND (Groups.Domain = 'SystemInternal' OR Groups.Domain = 'UserDefined' OR Groups.Domain = 'ACLEquivalence' OR Groups.Domain = 'Personal')) ) LIMIT 1 101 Query SELECT * FROM Queues WHERE id = '5' 101 Query SELECT ACL.id from ACL, Groups, Principals, CachedGroupMembers WHERE (ACL.RightName = 'SuperUser' OR ACL.RightName = 'ShowTicket') AND Principals.Disabled = 0 AND CachedGroupMembers.Disabled = 0 AND Principals.id = Groups.id AND Principals.id = CachedGroupMembers.GroupId AND CachedGroupMembers.MemberId = '1' AND ( ACL.ObjectType = 'RT::System' OR (ACL.ObjectType = 'RT::Queue' AND ACL.ObjectId = '5')) AND ( ( ACL.PrincipalId = Principals.id AND ACL.PrincipalType = 'Group' AND (Groups.Domain = 'SystemInternal' OR Groups.Domain = 'UserDefined' OR Groups.Domain = 'ACLEquivalence' OR Groups.Domain = 'Personal')) ) LIMIT 1 101 Quit Script output: 2391 2670 1398 2696 2190 2472 2257 210 1509 2545 500 1271 SearchBuilder 0.88: MySql Query Log 031030 17:16:58 102 Connect rt_user@localhost on rt3 102 Query SELECT * FROM Users WHERE Name = 'RT_System' 102 Query SELECT * FROM Users WHERE Name = 'Nobody' 102 Query SELECT * FROM Queues WHERE Name = 'Incoming' 102 Query SELECT * FROM Users WHERE id = '96' 102 Query SELECT DISTINCT main.* FROM Tickets main WHERE ((main.EffectiveId = main.id)) AND ((main.Type = 'ticket')) AND ( ( (main.Owner = '96') ) AND ( (main.Status = 'open')OR(main.Status = 'new') ) ) ORDER BY main.Priority DESC 102 Query SELECT * FROM Queues WHERE id = '6' 102 Query SELECT * FROM Users WHERE id = '1' 102 Query SELECT * FROM Principals WHERE ObjectId = '1' AND PrincipalType = 'User' 102 Query SELECT ACL.id from ACL, Groups, Principals, CachedGroupMembers WHERE (ACL.RightName = 'SuperUser' OR ACL.RightName = 'ShowTicket') AND Principals.Disabled = 0 AND CachedGroupMembers.Disabled = 0 AND Principals.id = Groups.id AND Principals.id = CachedGroupMembers.GroupId AND CachedGroupMembers.MemberId = '1' AND ( ACL.ObjectType = 'RT::System' OR (ACL.ObjectType = 'RT::Queue' AND ACL.ObjectId = '6')) AND ( ( ACL.PrincipalId = Principals.id AND ACL.PrincipalType = 'Group' AND (Groups.Domain = 'SystemInternal' OR Groups.Domain = 'UserDefined' OR Groups.Domain = 'ACLEquivalence' OR Groups.Domain = 'Personal')) ) LIMIT 1 102 Query SELECT * FROM Queues WHERE id = '5' 102 Query SELECT ACL.id from ACL, Groups, Principals, CachedGroupMembers WHERE (ACL.RightName = 'SuperUser' OR ACL.RightName = 'ShowTicket') AND Principals.Disabled = 0 AND CachedGroupMembers.Disabled = 0 AND Principals.id = Groups.id AND Principals.id = CachedGroupMembers.GroupId AND CachedGroupMembers.MemberId = '1' AND ( ACL.ObjectType = 'RT::System' OR (ACL.ObjectType = 'RT::Queue' AND ACL.ObjectId = '5')) AND ( ( ACL.PrincipalId = Principals.id AND ACL.PrincipalType = 'Group' AND (Groups.Domain = 'SystemInternal' OR Groups.Domain = 'UserDefined' OR Groups.Domain = 'ACLEquivalence' OR Groups.Domain = 'Personal')) ) LIMIT 1 102 Query SELECT * FROM Queues WHERE id = '10' 102 Query SELECT ACL.id from ACL, Groups, Principals, CachedGroupMembers WHERE (ACL.RightName = 'SuperUser' OR ACL.RightName = 'ShowTicket') AND Principals.Disabled = 0 AND CachedGroupMembers.Disabled = 0 AND Principals.id = Groups.id AND Principals.id = CachedGroupMembers.GroupId AND CachedGroupMembers.MemberId = '1' AND ( ACL.ObjectType = 'RT::System' OR (ACL.ObjectType = 'RT::Queue' AND ACL.ObjectId = '10')) AND ( ( ACL.PrincipalId = Principals.id AND ACL.PrincipalType = 'Group' AND (Groups.Domain = 'SystemInternal' OR Groups.Domain = 'UserDefined' OR Groups.Domain = 'ACLEquivalence' OR Groups.Domain = 'Personal')) ) LIMIT 1 102 Quit Script output: 210 500 1271 1398 1509 2190 2257 2391 2472 2545 2670 2696 Note that the priority on all tickets is 1 Adding/Removing the DISTINCT in the 5th SELECT statement causes the change.