1

タスク管理ツールを作っています。タスクの期日はdueTime、INT 型で呼び出される MySQL カラムにタイムスタンプとして保存されます。タスクに期日がない場合 (多くの場合はありません)、dueTime 列の値は 0 です。タスクは dueTime の昇順で表示する必要があり、期日のないタスクはリストの後半に表示されます。

私の現在の解決策はSELECT * FROM tasks WHERE dueTime > 0 ORDER BY dueTime、データを取得してから、2 番目のクエリを実行し、次にSELECT * FROM tasks WHERE dueTime = 0そのデータを追加することです。正常に動作しますが、1 つのクエリだけでこれを実現したいと考えています。また、「期限があります」という属性を追加する必要はないと思われるため、追加する必要はありません。

私が見た他の質問には の使用が含まれていましGROUP BYたが、タイムスタンプでそれを使用することが必要または効率的かどうかはわかりませんでした。

助けてくれてありがとう!

4

2 に答える 2

0

少なくとも 3 つの可能性があると思います。

于 2013-03-27T21:58:50.513 に答える
0

あなたはこれを試すことができます:

SELECT * FROM tasks ORDER BY dueDate IS NULL,dueTime
于 2013-03-27T23:38:36.070 に答える