我正在处理存储在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的方式提出了问题。要温柔;这是我的第一个问题!
答案 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