编写查询以显示编号的所有唯一出现次数,并列出

时间:2016-08-14 16:54:13

标签: sql ms-access

我正在处理存储在Oracle数据库中的过去的国家人口普查。我使用它的主要工具是MS Access和LibreOffice Base,具体取决于我必须解决的任务类型。我没有直接访问dbase;例如,我不能直接在主表上运行更新查询,但我可以在我在环境中创建的子表上执行此操作。

我想列出人口普查中所有唯一的标准化名称,并将实例数显示为计数,并在单独的列中列出名称的所有变体。如何编写这样的查询?

在下面的示例中,…S后面的Firstname表示源的名字在哪个标准名称下编码。

Firstname FirstnameS
Tor       Tor
Thor      Tor
Per       Per
Peer      Per
Pær       Per
Pär       Per
Caroline  Karoline
Charoline Karoline
Karoliine Karoline

期望的输出

FirstnameS  Σ   Firstname_variants
Tor         2   Tor, Thor
Per         4   Per, Peer, Pær, Pär
Karoline    3   Caroline, Charoline, Karoliine

───

我希望我已经提供了所有信息并以适合Stackoverflow的RoC的方式提出了问题。要温柔;这是我的第一个问题!

1 个答案:

答案 0 :(得分:0)

SELECT FirstnameS, COUNT(Firstname) AS Num
FROM myTable
GROUP BY FirstnameS

为您提供前两列。

第三个取决于数据库系统 - 你可以运行Oracle查询(直接或直通)吗?

修改:

Oracle:SQL Query to concatenate column values from multiple rows in Oracle

MS-Access:Combine values from related rows into a single concatenated string value