我最近开始学习SQL,而且我遇到了一些问题,我确信这并不是很困难,但我还没有找到答案。无论如何。假设我们有一张桌子: awesomeMovies
Dir -- Title
George || Once
Lucas || Upon
Star || In a
Wars || In a
等...
如果我们这样做:
SELECT COUNT(title) FROM awesomeMovies GROUP BY title;
我们得到:
1
1
2
所以我的问题基本上是: 如何使用WHERE语句和COUNT语句仅显示表中存在的行两次? 我的意思是,
SELECT COUNT(title) FROM awesomeMovies GROUP BY title WHERE COUNT(title)>1;
不起作用。任何帮助将不胜感激。提前谢谢你:D
答案 0 :(得分:0)
以下查询将仅选择那些在awesomeMovies
表格中存在多次的精彩电影的数量。
SELECT
COUNT(title)
FROM awesomeMovies
GROUP BY title
HAVING COUNT(title) > 1;
注意:强>
SQL语句的实际执行有点棘手。但是,该标准确实指定了查询中元素的解释顺序。这基本上是你指定的顺序,虽然我认为有和分组可以在select:
之后 - FROM clause
- WHERE clause
- SELECT clause
- GROUP BY clause
- HAVING clause
- ORDER BY clause
这是mysql查询构建器的可视化:
答案 1 :(得分:0)
使用Having
:
SELECT title,COUNT(title)
FROM awesomeMovies
GROUP BY title
having COUNT(title)>1;
Having
用于过滤组数据。