Frage

i have 2 table category and items, i want display it descending order by categoy id with limt and offset

category table:

  a   |  b  
 -----+-----
    1 | cat1
    2 | cat2
    3 | cat3
    4 | cat4
    5 | cat5
    6 | cat6

when run this sql code

SELECT  c.* ,f.Amount, f.Item FROM item_table f
   LEFT JOIN (
   SELECT * FROM category c LIMIT '.$offset.', 3
   )
 AS c ON f.cat_id = c.id ORDER BY c.id desc

it return me like this

  a   |  b   | items
 -----+-------------
    3 | cat3 | item,item...
    2 | cat2 | item,item...
    1 | cat1 | item,item...

but i want it return me

  a   |  b   | items
 -----+-------------
    6 | cat6 | item,item...
    4 | cat4 | item,item...
    5 | cat5 | item,item...

how i can do it?

War es hilfreich?

Lösung

Add order by clause inside subquery.

SELECT  c.* ,f.Amount, f.Item FROM item_table f
   LEFT JOIN (
   SELECT * FROM category c 
   ORDER BY c.id desc
   LIMIT '.$offset.', 3
   )
 AS c ON f.cat_id = c.id
 ORDER BY c.id desc
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top