Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 4552816
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 21, 20262026-05-21T16:51:09+00:00 2026-05-21T16:51:09+00:00

I want to return the most recent ten (complete) rows from a table, but

  • 0

I want to return the most recent ten (complete) rows from a table, but ensuring they all have unique ‘alternate_id’s. If there are two in the top ten with the same alternate_id I don’t care which I take, but I want one of them! I thought I’d use group by as follows:

select * 
from track_history_items 
where type='FooType' 
group by alternate_id order by created_at desc limit 10;

but this seems to be causing problems (failing to return rows with alternate_ids that are definitely in the top 10). Any ideas how I should do this properly?

* SOLUTION *
(I can’t post an answer as I’m a new user)

here’s what I’ve ended up doing:

SELECT field1,
...,
max(created_at),
...,
fieldN
FROM track_history_items
where type='FooType'
group by alternate_id
order by created_at desc
limit 10

This seems to do the trick. Thought I’d post it here in case it’s of use to others, or there are any mistakes with it that someone might spot!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-21T16:51:10+00:00Added an answer on May 21, 2026 at 4:51 pm

    GROUP BY must be used with aggregate functions (like sum, avg, …).

    You can use:

    SELECT
      DISTINCT alternate_id,
      field1, -- one value per alternate_id
      ...,    -- one value per alternate_id
      fieldn  -- one value per alternate_id
    FROM
      track_history_items
    WHERE
      type = 'FooType'
    ORDER BY
      created_at DESC
    LIMIT 10
    

    This is standard SQL.

    It does not mean you will necessarily unique value in your alternat_id column. You will have every combinations of {alternate_id, fieldi}.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have two tables, Tasks and TaskMilestones. I want a query to return the
I am trying to write a query that will return only the most recent
I am really bad explaining but I'll try. Suppose I have with the following
I have a CATEGORIES table that links to an ITEMS table (one to many).
I have a query that is currently using a correlated subquery to return the
I want to set up a Mercurial SC server and have been following the
Last night I started working on an NHibernate provider. I'm creating a criteria that
here is my model class gameUserTrophyInfo(models.Model): user = models.ForeignKey(userInfo) trophy = models.ForeignKey(gameTrophyInfo) date =
table1 has 3 columns: Id UserName SubmittedDate 1 Joe 1/1/2006 2 Joe 1/1/2007 3
Is there a way of using SetMaxResult() on a sub query? Im writing a

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.