0
すべての行を特定の順序で出力するMySQLクエリを構築するのに役立つ必要があります。テーブル定義には、id
,sub_id
、およびname
が含まれています。 sub_id
列は、特定の行をid
にグループ化する必要があることを示すために使用され、sub_id
が空白/ 0/NULLの場合、その行は最上位行になります。サブグループ順
希望のソート順はname
です。ただし、すべてのsub_id
行を対応するid
行内にグループ化したい場合を除きます。各サブグループ内では、各行を名前でソートする必要があります。例えば
は、この順序付けられていないテーブル所与:
id sub_id name
=====================
1 0 bananas
2 0 apples
3 0 apricots
4 2 strawberries
5 2 cherries
6 1 oranges
所望の順序である:
id sub_id name
=====================
2 0 apples
5 2 cherries
4 2 strawberries
3 0 apricots
1 0 bananas
6 1 oranges
(例示の目的のみのためにサブグループ間の間隔)
ヘルプ?前もって感謝します!
感謝を。しかし、私はこれが最初にIDで並べ替えると思う。たとえば、id = 1、name = 'xyz'、id = 2、name = 'abc'の行は、間違って並べ替えられます。また、sub_id = NULLの行をサブグループ内で最初にソートする必要があります。 – yahermann
これはhttp://sqlfiddle.com/のためにsqlfiddleを設定することをお勧めします。もしそれがうまくいかないと思っているのであれば、それは本当にうまくいきません。 – Bulat