数据库group by语句

select*fromhb_student_infowherecard_idin(selectcard_idfromhb_student_infogroupbycard_... select * from hb_student_info where card_id in(select card_id from hb_student_info group by card_id having count(card_id)>1)
我知道这句的功能是查找出card_id相同的纪录 具体是怎么实现功能的,count函数大于1是什么意思?
展开
 我来答
yize1984
2010-04-06 · 超过40用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:120万
展开全部
select card_id from hb_student_info group by card_id having count(card_id)>1
group by 是按照card_id分组,配合having做条件筛选
比如hb_student_info中数据如下:
card_id 栏位1 栏位2
001 1 2
001 2 2
001 3 4
002 4 4
003 4 4
003 2 3

通过group by 分组后
card_id
001
002
003

此时在select 中加入count(card_id) 去看 select card_id, count(card_id)from hb_student_info group by card_id
card_id count(card_id)
001 3
002 1
003 2

通过这样的数据就可以看出 只有001和003是符合条件的(即card_id有相同的记录)

in 后面的查询条件就是通过筛选分组后card_id>1的数目找出所有的card_id
莱伯泰科
2024-10-28 广告
LabTech Group,即北京莱伯泰科仪器股份有限公司,是业界领先的实验室科学仪器与解决方案提供商。我们专注于分析测试仪器的研发、生产和销售,致力于为全球科研工作者、高校及企业实验室提供高性能、高稳定性的产品与服务。通过持续的技术创新与... 点击进入详情页
本回答由莱伯泰科提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式