-1

これがクエリの出力です。 ここに画像の説明を入力

SELECT * FROM
                    ((選択する
                        privatemsgs.id、
                        privatemsgs.useradn、
                        privatemsgs.useraid、
                        privatemsgs.title,
                        privatemsgs.created,
                        privatemsgs.timee、
                        privatemsgs.isread、
                        u.photo ASクリエーターフォト、
                        privatemsgs.relatedto
                    FROM プライベートメッセージ
                    左結合
                        users AS u ON(privatemsgs.useraid = u.id)
                    WHERE userbid='$myid'
                        AND relatedto=0 および bdel=1)
                    連合
                    (選択する
                        privatemsgs.id、
                        privatemsgs.useradn、
                        privatemsgs.useraid、
                        privatemsgs.title,
                        privatemsgs.created,
                        privatemsgs.timee、
                        privatemsgs.isread、
                        u.photo ASクリエーターフォト、
                        rel.relatedto
                    FROM privatemsgs AS rel
                        JOIN privatemsgs ON(rel.relatedto = privatemsgs.id)
                        左結合
                        users AS u ON(rel.useraid = u.id)
                    WHERE rel.userbid='$myid'
                    )) プライベートメッセージ
                    GROUP BY ID
                    ORDER BY timee DESC

ダブルID「2」を取得しました。最初の 1 は「isread = 0」、2 番目は「isread = 1」です。

「IDによるグループ化」を追加すると、(2行目)

しかし、isread = 1 であることを示す出力が必要です (3 行目のように)

どうすれば修正できますか?

4

1 に答える 1

0

* の近くに MAX(isread) を追加します。GROUP BY は集計関数でのみ機能します

于 2013-03-19T13:20:12.507 に答える