我如何计算重复行与选择语句
这是我的桌子
name food
A Apple
B Banana
A Banana
C Apple
Run Code Online (Sandbox Code Playgroud)
结果应该是这样的:
name food count
A apple (2)
B Banana (1)
A Bananaa (2)
C Apple (1)
Run Code Online (Sandbox Code Playgroud)
我需要在结果集中使用第三个coloumn,其值将为count(Name)
提前致谢
Dan*_*uis 32
目前还不清楚你想要做什么,所以这里有两种可能性.
如果要确定相同name和food组合发生的次数,可以使用GROUP BY对类似记录进行分组并COUNT确定组中有多少个:
SELECT name, food, COUNT(*) AS count
FROM your_table_name
GROUP BY name, food
Run Code Online (Sandbox Code Playgroud)
或者,如果要检索只有名称重复的次数,则需要子查询:
SELECT name, food,
(
SELECT COUNT(*)
FROM your_table_name
WHERE name = table_alias.name
) AS count
FROM your_table_name AS table_alias
Run Code Online (Sandbox Code Playgroud)
第一个查询将每个name/ food组返回一行,以及组中显示的记录数.第二个查询将返回所有行,并计算每行中具有相同名称的行数.
Mar*_*c B 32
SELECT name, food, COUNT(food) AS cnt
FROM table
GROUP BY name, food
HAVING (cnt > 1)
Run Code Online (Sandbox Code Playgroud)
如果你想要所有内容的计数,而不仅仅是带有重复项的元组,那么就消除HAVING行,因为它会过滤掉任何没有重复的内容.
| 归档时间: |
|
| 查看次数: |
43752 次 |
| 最近记录: |