我正在学习SQLite,我现在提出的问题是,是否有一种简单的方法可以在查询输出中添加顺序编号。在下面,我提供了一个我想要实现的例子。
例如,我有以下查询:
SELECT
splTicker AS 'Ticker',
count(splTicker) AS '# of Splits'
FROM Splits
GROUP BY splTicker
ORDER BY count(splTicker) DESC, splTicker ASC;
此查询的输出如下:
bash-3.2$ sqlite3 myShares < Queries/Split.sql
Ticker # of Splits
---------- -----------
AI.PA 7
ASML.AS 3
BN.PA 3
ALTR.LS 2
BOKA.AS 2
DG.PA 2
...
SON.LS 1
SU.PA 1
SW.PA 1
TEC.PA 1
UMI.BR 1
VIV.PA 1
VPK.AS 1
我正在尝试向行添加序号以获得以下输出:
# Ticker # of Splits
-- ---------- -----------
1 AI.PA 7
2 ASML.AS 3
3 BN.PA 3
4 ALTR.LS 2
5 BOKA.AS 2
6 DG.PA 2
...
目前,我使用了一种解决方法,并在Perl中添加了行查询后查询。我提出的问题是我是否可以直接在SQLite中执行此操作。这个想法似乎很简单,但我还没有找到解决方案。任何帮助将不胜感激。
致以最诚挚的问候,
GAM
答案 0 :(得分:0)
试试这个:
SELECT
(SELECT COUNT(*)
FROM Splits AS s2
WHERE s2.splTicker <= s1.splTicker) AS '#',
splTicker AS 'Ticker',
count(splTicker) AS '# of Splits'
FROM Splits s1
GROUP BY s1.splTicker
ORDER BY count(s1.splTicker) DESC, s1.splTicker ASC;