Можно ли отсортировать результаты SQL-запроса по количеству записей в другой таблице? - PullRequest
2 голосов
/ 31 января 2011

Примерно так:

SELECT count(Answers.ID) as answertotal, Questions.* 
FROM Questions 
LEFT JOIN Answers ON Answers.qid=Questions.ID 
ORDER BY answertotal

Я использую SQLite, но любые примеры должны помочь.

1 Ответ

4 голосов
/ 31 января 2011

В MySQL это будет работать:

SELECT count(Answers.ID) as answertotal, Questions.* 
FROM Questions 
LEFT JOIN Answers ON Answers.qid=Questions.ID 
GROUP BY Questions.ID
ORDER BY answertotal

В SQLLite вам может понадобиться добавить дополнительный слой, подобный этому:

SELECT q.*, tots.answertotal
FROM Questions q
INNER JOIN ( 
  SELECT count(Answers.ID) as answertotal, Questions.ID as questionid
  FROM Questions 
  LEFT JOIN Answers ON Answers.qid=Questions.ID 
  GROUP BY Questions.ID
) tots ON tots.questionid = q.ID
ORDER BY tots.answertotal
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...