我有一个MySQL表:
Col1 | Col2
a A
a B
c C
a B
Run Code Online (Sandbox Code Playgroud)
我想创建一个这样的表:
col1 | col2 | freq
a A 0.33
a B 0.67
Run Code Online (Sandbox Code Playgroud)
col1是Col1中的指定项.col2是与指定项目(即a)发生的不同项目.freq列是col2中项目的出现频率.
有人能给我一个如何创建这样的查询的提示吗?非常感谢.
试试这个:
Select A.Col1, A.Col2, A.Count1 * 1.0 / B.Count2 As Freq
From (
Select Col1, Col2, Count(*) As Count1
From YourTableName
Group By Col1, Col2
) As A
Inner Join (
Select Col1, Count(*) As Count2
From YourTableName
Group By Col1
) As B
On A.Col1 = B.Col1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2423 次 |
| 最近记录: |