私はアイテムを含むテーブルを持っています。いくつかのものは他のものの子です(私はいくつかのフォーラムの会話のようなものもあれば、前のものの子どもも、 、いくつかは、多くの子供を持っていますが、深い一つだけのレベルがあり、子どもたちの子)が存在しない、例えば私はいくつかの基準を照会した後、次のリストを取得し、idをソート順:mysql(階層情報付きデータ)のグループ化とソート
| id | title | date | childof |
| 002 | tit2 | 2017-02-23 | 000 | if 000, not a child
| 003 | tit3 | 2017-05-12 | 000 | not a child
| 004 | tit4 | 2017-03-25 | 002 | child of 002
| 005 | tit5 | 2017-03-26 | 002 | other child of 002
| 006 | tit6 | 2017-06-13 | 000 | not a child
| 007 | tit7 | 2017-07-06 | 003 | only child of 003
私の質問がについてソートされます/結果をグループ化する:結果は次のように表示されます:
| id | title | date | childof |
| 006 | tit6 | 2017-06-13 | 000 | no child most recent at first level
| 003 | tit3 | 2017-05-12 | 000 | one child
| 007 | tit7 | 2017-07-06 | 003 | only child of previous
| 002 | tit2 | 2017-02-23 | 000 | two children
| 004 | tit4 | 2017-03-25 | 002 | child #1 of 002 oldest
| 005 | tit5 | 2017-03-26 | 002 | child #2 of 002 most recent
最初のレベル(子ではない項目)
私の出発の下に親何その日以降に再編成が、最も古いと一緒に注文されているため、日付によって
- (最新の最初)次のようなものでした。
SELECT * FROM mytable WHERE somecriteriaok ORDER BY日付GROUP BY childof。
もちろん、私ははるかに複雑な解決策を試しましたが、上記の結果を達成できないようですので、この質問を簡単かつ明確にしようとしました...うまくいけば、私は成功し、 go(私の英語を許す...)。
ピエール。
Waou。適切に打ち付けられた!! COALESCEを知らなかったのですが、GROUP BYを使用することは解決策ではありませんでした。クイックアンサーのおかげで、私はすでにそれを私の複雑なリクエストに入れていました。 – pierr0t