从2个表中选择并按1排序

时间:2013-01-08 19:26:58

标签: php mysql

我有2张桌子。

第一:

TABLE Articles
  ID  

第二:

TABLE Viewcount
  DATE        DATE  PK
  ARTICLE_ID  INT   PK  (MATCHES ID IN TABLE Articles)
  NUMVIEWS    INT

如何从表格文章中选择所有ID,然后根据日期按照Viewcount的NUMVIEWS(DESC)排序? 然后,我需要将viewcount中未找到的文章中的ID附加到结果的结尾,没有特定的顺序。 我知道它必须是某种加入,但我无法弄清楚..

4 个答案:

答案 0 :(得分:1)

试试这个

SELECT id from Articles a
LEFT JOIN Viewcount v
ON  a.id = v.article_id
AND v.date = 'some date here'
ORDER BY v.numviews ,v.date desc

答案 1 :(得分:1)

简单的连接就足够了,是的:

SELECT a.id FROm Articles a LEFT JOIN Viewcount v
ON v.article_id = a.id
ORDER BY v.numviews desc, v.date

答案 2 :(得分:0)

这应该有效:

SELECT * FROM `Articles` `a`, `Viewcount` `v`
WHERE `v`.`ARTICLE_ID`=`a`.`ID`
ORDER BY `v`.`NUMVIEWS` DESC

SELECT *替换为SELECT `a`.`ID`以仅获取文章ID。

答案 3 :(得分:0)

SELECT ID from (Articles JOIN Viewcount on Articles.ID = Viewcount.ID) ORDER BY Viewcount.NUMVIEWS, Viewcount.date