Основываясь на бриллианском ответе Брайана, вы можете сделать это просто в своем случае:
var inner_id = inner["_id"] as JProperty;
if (inner_id != null)
inner_id.Remove();
Спасибо @ sticky-bit, ваше решение сработало, я просто ссылался на неправильный столбец в сравнении.
Окончательный запрос
SELECT ct.id,
ct.obj_id
FROM comment_thread ct
LEFT JOIN (SELECT cc.thread_id,
count(*) count
FROM comment_comment cc
GROUP BY cc.thread_id) x
ON x.thread_id = ct.id
ORDER BY x.count DESC
NULLS LAST;
ORDER BY
в подзапросе не имеет (гарантированного) эффекта. Это должно быть для самого внешнего запроса.
Либо используйте коррелированный подзапрос в предложении ORDER BY
.
SELECT ct.id,
ct.obj_id
FROM comment_thread ct
ORDER BY (SELECT count(*)
FROM comment_comment cc
WHERE cc.thread_id = ct.obj_id) DESC;
Или объединение и упорядочение по левому краю по объединенному количеству.
SELECT ct.id,
ct.obj_id
FROM comment_thread ct
LEFT JOIN (SELECT cc.thread_id,
count(*) count
FROM comment_comment cc
GROUP BY cc.thread_id) x
ON x.thread_id = ct.obj_id
ORDER BY x.count DESC
NULLS LAST;