2010-01-20 2 views
2

J'ai une table des dossiers comme ci-dessousComment puis-je commander par plusieurs colonnes dans une requête SELECT?

 
int_record_id  int_category_id str_name int_order bit_active 
     1     1   test1  2   1 
     2     1   test2  1   1 
     3     2   test3  1   1 
     1     3   test4  3   1 

je veux sélectionner cet enregistrement dans une telle manière qu'il devrait être classée dans l'ordre des deux int_category_id et int_order

de sorte que le résultat devrait être comme ci-dessous

 
int_record_id  int_category_id str_name int_order bit_active 
     2     1   test2  1   1 
     1     1   test1  2   1  
     3     2   test3  1   1  
     4     3   test4  3   1 

Est-ce que quelqu'un a une idée sur sa requête SQL, je l'ai essayé beaucoup je ne suis pas obtenir le résultat correct. quelqu'un peut-il me montrer la requête SQL exacte pour cela.

+0

Qu'avez-vous actuellement? –

Répondre

7
select * from your_table order by int_category_id, int_order 
2

Cette requête devrait faire:

select * from myTable 
order by int_category_id, int_order 

Vous devez décider ce que vous triez principal sera et à l'intérieur que le secondaire (et ainsi de suite).

Donc, si vous voulez trier d'abord par ordre puis par catégorie, vous utilisez:

select * from myTable 
order by int_order, int_category_id 

Voir la documentation mySql order by.

Questions connexes