List:Spanish« Previous MessageNext Message »
From:Matias Aguirre Date:January 26 2011 11:38pm
Subject:Re: Problema al ordenar una tabla
View as plain text  
On 01/26/2011 07:36 PM, "José C. Massón" wrote:
> El 26/01/11 18:35, Matias Aguirre escribió:
>> Hola a todos,
>>
>> Tengo un problema para ordenar una tabla especifica... no se si alguien
>> me puede explicar por que MySQL ordena esta tabla de esta manera. El
>> query es el siguiente:
>>
>> SELECT id, title, catid FROM jos_k2_items
>> ORDER BY id ASC, catid ASC
>>
>> y lo que devuelve:
>>
>> id 	title 	catid
>> 4 	Breakfast 	1
>> 5 	Brunch 	5
>> 6 	Lunch 	6
>> 7 	Snack 	7
>> 8 	Dinner 	8
>> 9 	Dessert 	9
>> 10 	[Copy of] Dessert 	9
>> 11 	[Copy of] Dinner 	8
>> 12 	[Copy of] Snack 	7
>> 13 	[Copy of] Lunch 	6
>> 14 	[Copy of] Brunch 	5
>> 15 	[Copy of] Breakfast 	1
>> 16 	[Copy of] [Copy of] Breakfast 	1
>> 17 	[Copy of] [Copy of] Brunch 	5
>> 18 	[Copy of] [Copy of] Lunch 	6
>> 19 	[Copy of] [Copy of] Snack 	7
>> 20 	[Copy of] [Copy of] Dinner 	8
>> 21 	[Copy of] [Copy of] Dessert 	9
>>
>>
>> Como ven, el orden de catid es distinto, va del 1 al 9 y despues del 9
>> al 1 y asi... muy raro
>> Lo que yo necesito es que vaya del 1 al 9, y empiece de nuevo del 1 al 9.
> Según entiendo es el funcionamiento correcto.
>
> Cuando vos le decís en la query: "ORDER BY id ASC, catid ASC"
>
> Lo que le estás diciendo es algo así como: "Ordená
> ascendentemente por
> el campo id, y luego, si los valores de id son iguales, ordenalos
> ascendentemente por el camppo cantid"
>
> En tu caso todos los valores de id, son distintos.
>
>
> Saludos

Antes que nada, gracias por las respuestas.

Entiendo lo que dicen... entonces como podria ordenarlo de la manera que 
yo requiero? En realidad necesito que se ordene por fechas y despues que 
se ordene por el orden de la categoria. Si yo pongo:

/SELECT i.id, i.title, i.created, c.name as categoryname,c.id as 
categoryid, c.alias as categoryalias
FROM jos_k2_items as i
LEFT JOIN jos_k2_categories AS c ON c.id = i.catid
WHERE i.published = 1
AND i.access <= 0
AND i.trash = 0
AND c.published = 1
AND c.access <= 0 AND c.trash = 0 AND ( i.publish_up = '0000-00-00 
00:00:00' OR i.publish_up <= '2011-01-26 19:15:44' ) AND ( 
i.publish_down = '0000-00-00 00:00:00' OR i.publish_down >= '2011-01-26 
19:15:44' ) AND i.catid IN (1,6,8) AND i.featured != 1
ORDER BY i.created DESC, i.catid ASC/

Me devuelve:

id 	title 	created 	categoryname 	categoryid 	categoryalias
8 	Dinner 	2010-12-13 21:40:03 	Dinner 	8 	dinner
6 	Lunch 	2010-12-13 21:38:37 	Lunch 	6 	lunch
4 	Breakfast 	2010-12-13 21:21:00 	Breakfast 	1 	breakfast
16 	[Copy of] [Copy of] Breakfast 	2010-11-16 19:41:12 	Breakfast 	1 
breakfast
18 	[Copy of] [Copy of] Lunch 	2010-11-16 19:41:12 	Lunch 	6 	lunch
20 	[Copy of] [Copy of] Dinner 	2010-11-16 19:41:12 	Dinner 	8 	dinner
15 	[Copy of] Breakfast 	2010-08-12 21:49:00 	Breakfast 	1 	breakfast
13 	[Copy of] Lunch 	2010-08-12 21:49:00 	Lunch 	6 	lunch
11 	[Copy of] Dinner 	2010-08-12 21:49:00 	Dinner 	8 	dinner



Yo necesito tener ordenado por fecha descendente y las categorias 
ascendentes (1,6 y respectivamente) y fijense que en los primeros 3 no 
aparece en ese orden...


Saludos

Thread
Problema al ordenar una tablaMatias Aguirre26 Jan
  • Re: Problema al ordenar una tablaCarlos Proal26 Jan
  • Re: Problema al ordenar una tablaJosé C. Massón26 Jan
    • Re: Problema al ordenar una tablaMatias Aguirre27 Jan
      • [SOLVED] Re: Problema al ordenar una tablaMatias Aguirre27 Jan
        • Re: [SOLVED] Re: Problema al ordenar una tablaCarlos Barboni27 Jan