我有以下表结构:
contact_block_key contact_tab_key contact_tab_order
==========================================================
test overview 1
test1 overview 2
test3 0
test4 0
test5 personal 2
test6 personal 1
test7 family 3
test8 family 1
test9 family 2
我试图找出按contact_tab_key
选择和分组行的方法,并能够按contact_tab_order
排序。我很大程度上无法做到这一点。我尝试使用:
"select * from table group by contact_tab_key order by contact_tab_order";
但group by
似乎将行减少为一个。
我也尝试过:
"select * from table order by contact_tab_key,contact_tab_order";
但这似乎按字母数字顺序排列contact_tab_key
,然后按contact_tab_order
排序。我想要订单overview
=> personal
=> family
保持战略。
有没有办法保留行数和行顺序,但是根据contact_tab
给我分组,我可以按contact_tab_order
排序?我已经使用PHP手动执行此操作,但在那里可能是更好的方法在SQL中执行此操作。
所需的输出(跳过 null contact_tab_key
):
Array
(
[overview] => Array
(
[0] => test
[1] => test1
)
[personal] => Array
(
[0] => test6
[1] => test5
)
[family] => Array
(
[0] => test8
[1] => test9
[2] => test7
)
)