这是我的table
id name age role
---------------------------------------
1 Rahul 20 1
2 Karan 35 0
3 Vivek 47 0
4 Shubham 40 1
5 Paras 87 1
6 Arjun 18 1
7 Ayush 28 0
我只想选择年龄之和等于60的两行,就像上表中的第1行和第4行一样。SQL查询是什么?
我试过这个
select * from form_data where age=(select age from form_data having sum(age)=60);
3条答案
按热度按时间ct3nt3jp1#
这是
CROSS JOIN
的一个用例,它使用form_data
表两次,从2个表中获取所有行的组合:mfpqipee2#
一种方法是将同一个表视为第二个表并将它们连接起来
这会给予出两个匹配的名字和两个匹配的年龄。但是,这也会给出拉胡尔+舒巴姆和舒巴姆+拉胡尔。
避免这种情况的一种方法是使用id
5vf7fwbs3#
使用该表:
我已经用这个查询返回了数据: