I need to create a query that pulls only the customer_no column (because the software restrictions are as such, and I can\'t code it externally). But I need to be able to so
This does not look like mysql.
Anyway... you could try an ordered sub-select IE
From (select * from T_CUSTOMER order by create_dt) a WITH (NOLOCK)
I hope this helps.
Of course you can. Your query looks like SQL Server, where this will likely do what you want:
  Select top 3500 a.customer_no 
  From T_CUSTOMER a  WITH (NOLOCK) JOIN
       (Select a1.customer_no
        From VXS_CUST_TKW a1 WITH (NOLOCK)
        Where a1.tkw in (141)
       ) e
       ON e.customer_no = a.customer_no
  Where 1 = 1
  group by a.customer_no
  order by max(a.create_dt) desc;
The equivalent query in MySQL would look like:
  Select a.customer_no 
  From T_CUSTOMER a JOIN
       (Select a1.customer_no
        From VXS_CUST_TKW a1 
        Where a1.tkw in (141)
       ) e
       ON e.customer_no = a.customer_no
  Where 1 = 1
  order by a.create_dt desc
  limit 3500;
I removed the distinct because it may not be necessary.  If it is, add it back in.
Use a subquery that includes the column you're ordering by. Then the main query can just return the column you care about:
SELECT customer_no
FROM (
    Select top 3500 a.customer_no, a.create_dt
      From T_CUSTOMER a  WITH (NOLOCK) JOIN
           (Select a1.customer_no
            From VXS_CUST_TKW a1 WITH (NOLOCK)
            Where a1.tkw in (141)
           ) e
           ON e.customer_no = a.customer_no
      Where 1 = 1
      order by a.create_dt desc
)