0

IFNULL(likes.num, 0)以下のクエリを書くことができましたが、これはほぼ機能します。問題は、結果テーブルの最後にある get putによって null 値がゼロになることです。

SELECT t.*, IFNULL(likes.num, 0)
FROM `textagname` as t
LEFT JOIN likes
ON t.tex = likes.tex
ORDER BY num DESC

このクエリを次のように書く別の方法はありますか?

SELECT *
FROM (
    SELECT t.*, IFNULL(likes.num, 0)
    FROM `textagname` as t
    LEFT JOIN likes
    ON t.tex = likes.tex
)
ORDER BY d.num DESC

時間がかからない方法が望ましいです。

4

1 に答える 1

1

秘訣は、テーブルからの値ではなく、生成された値で並べ替えることでした。以下にnumLikesが追加されていることに注意してください。

SELECT t.*, IFNULL(likes.num, 0) as numLikes
FROM `textagname` as t
LEFT JOIN likes
ON t.tex = likes.tex
ORDER BY numLikes DESC
于 2012-04-29T22:15:20.817 に答える