PHPファイルにMySQLクエリがあります。「ORDER by value ASC」を使用して、テーブルの 1 つの列の値を昇順に並べ替えて、結果を並べ替えたいと考えています。ただし、現在のクエリによって生成される結果は、この値ではなく、テーブル内の別の値で並べられています。これは、構文が間違っているためだと思いますが、その方法がわかりません。私は数週間これを解決しようとしていますが、喜びはありません.誰か助けてもらえますか?
返信ありがとうございます。
クエリ:
$Find_Query3 = mysql_query("SELECT
patients.*,
addobs.*,
DATE_FORMAT(addobs.datetime, '%d/%m/%Y %H:%i:%s') as dti1,
(SELECT DATE_FORMAT(MIN(addobs.datetime), '%m/%d/%Y %H:%i:%s') FROM addobs WHERE addobs.mrn = patients.mrn AND addobs.datetime >= lastOkPar.lastDatetime AND addobs.par >= $par AND addobs.hidden != 'yes') as dti2
FROM addobs
INNER JOIN patients ON addobs.MRN = patients.MRN
LEFT JOIN (
SELECT
addobs.MRN
, MAX(addobs.datetime) as lastDatetime
FROM addobs
WHERE
addobs.par < $par
AND addobs.hidden != 'yes'
GROUP BY addobs.MRN
) lastOkPar ON lastOkPar.MRN = addobs.MRN
WHERE
addobs.datetime = (SELECT MAX(OLAST.datetime) FROM addobs AS OLAST WHERE OLAST.MRN = patients.MRN)
AND addobs.par >= $par
AND NOT addobs.hidden = 'yes'
AND COALESCE(patients.ward,'') != 'dc'
ORDER by addobs.par ASC, dti2 ASC
PS 現在、結果は「患者」の列の 1 つである生年月日順に並べられています。なぜこれで注文することを選択したのかわかりません。ロジックがあると確信していますが、私はそれを解決していません!
ありがとう、
マット