秩我有这样的查询如何根据分数
SELECT CJ.JOURNAL_ID AS JOURNAL_ID,
VOLUME,
ISSUE,
PAPER_ID,
COUNT(PAPER_ID) AS PAPER_COUNT
FROM cafet_paper_details CPD
INNER JOIN CAFET_JOURNAL CJ ON CJ.JOURNAL_ID = CPD.JOURNAL_ID
GROUP BY JOURNAL_ID,VOLUME, ISSUE
ORDER BY JOURNAL_ID,VOLUME
这给了我下面的结果
JOURNAL_ID VOLUME ISSUE PAPER_ID PAPER_COUNT
---------- ------ ------ -------- -------------
18 2008 04 33 18
18 2009 05 46 3
18 2012 03 10 22
19 2016 1 9 1
从上表我想添加基于列“VOLUME_RANK” ASC VOLUME(2008年卷我应该得到volume_rank为1,为2009年2,2010年定为3等)
预期输出
JOURNAL_ID VOLUME ISSUE PAPER_ID PAPER_COUNT VOLUME_RANK
---------- ------ ------ -------- ------------- ------------
18 2008 04 33 18 1
18 2009 05 46 3 2
18 2012 03 10 22 5
19 2016 1 9 1 9
你正在使用哪个db? – scaisEdge
如果查询运行,我猜'mysql'。如果没有,'paper_id'必须包含在'group by'子句中... – sgeddes
它会一直是2008年还是当年动态?如果是这样,只需使用'Volume - 2007'如果不是的话,你可以在子查询中选择'Volume'的'min'来做同样的事情...... – sgeddes