我需要在列中找出相同值的数量并给它们一个序列号。 例如,如果我有一个表与数据的列d:MySQL:按外观顺序创建一个序列
d
甲
甲
乙
甲
乙
Ç
Ç
d
我需要用数据的连续编号创建一个列S:
DS
A 1
A 2
乙1
A 3
B 2
的C 1
的C 2
d 1
正如你可以例如看到有是三个A,他们根据外观顺序得到一个数字。与其余数据一样。 我不是很熟悉SQL,有人可以帮忙吗?
我需要在列中找出相同值的数量并给它们一个序列号。 例如,如果我有一个表与数据的列d:MySQL:按外观顺序创建一个序列
d
甲
甲
乙
甲
乙
Ç
Ç
d
我需要用数据的连续编号创建一个列S:
DS
A 1
A 2
乙1
A 3
B 2
的C 1
的C 2
d 1
正如你可以例如看到有是三个A,他们根据外观顺序得到一个数字。与其余数据一样。 我不是很熟悉SQL,有人可以帮忙吗?
假设有在表中的id
场决定行顺序,可以使用下面的查询,以获得期望的结果:
SELECT id, D, (SELECT COUNT(*) + 1
FROM mytable AS t2
WHERE t1.D = t2.D AND t2.id < t1.id) AS S
FROM mytable AS t1
是的,这是我正在寻找的。现在,如果我使用LOAD DATA INFILE和一些自动增量字段,我保证通过它们在csv文件中的顺序来获取行吗? – pankal
如果'LOAD DATA INFILE'按照它们在excel文件中列出的顺序将数据插入到表中,则确保auto_increment字段将反映该顺序。 –
你有任何其他的列,以确定例如你给的例子?如果没有,那么不能保证您将按照您在示例中提到的相同顺序获取数据。如果是,那么也提供该栏目的详细信息。 – Utsav
SQL中的行没有顺序 – Strawberry
然后每次执行查询时结果可能会不同 –