我有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附加到结果的结尾,没有特定的顺序。 我知道它必须是某种加入,但我无法弄清楚..
答案 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