mysql年龄最大的_mysql 查寻重复姓名且年龄最大的列表

mysql 查找重复姓名且年龄最大的列表

mysql> select count(*) as count ,name,sum(age) as age from t1 group by name order by count desc;

+-------+--------+------+

| count | name | age |

+-------+--------+------+

| 3 | atest | 64 |

| 2 | btest | 37 |

| 2 | ctest | 43 |

| 2 | dtest | 43 |

| 1 | mary | 22 |

| 1 | kou | 22 |

| 1 | perter | 23 |

| 1 | kate | 19 |

+-------+--------+------+

8 rows in set (0.00 sec)

这里找到count 重复的数据

下面接着找 count 最大,切age 最大且相同的数据

mysql> select count,name,age from ( select count(*) as count ,name,sum(age) as age from t1 group by

name order by count desc ,age desc ) as tmp group by count order by count desc ,age desc;

+-------+--------+------+

| count | name | age |

+-------+--------+------+

| 3 | atest | 64 |

| 2 | ctest | 43 |

| 1 | perter | 23 |

+-------+--------+------+

3 rows in set (0.00 sec)

为什么少了一条 dtest ,dtest的数据和ctest在count和age上是一样的?

求指教!谢谢

分享到:

------解决方案--------------------

select tmp1.count,tmp1.age from (select count,max(age) as age from ( select count(*) as count ,name,sum(age) as age from t1 group by

name order by count desc ,age desc ) as tmp group by count order by count desc ,age desc) as tempd,( select count(*) as count ,name,sum(age) as age from t1 group by

name order by count desc ,age desc ) as tmp1 where tmp1.count=tempd.count and tmp1.age=tempd.age count order by tmp1.count desc ,tmp1.age desc;

相关文章

相关视频

网友评论

文明上网理性发言,请遵守 新闻评论服务协议我要评论

47d507a036d4dd65488c445c0974b649.png

立即提交

专题推荐064df72cb40df78e80e61b7041ee044f.png独孤九贱-php全栈开发教程

全栈 100W+

主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门

7dafe36c040e31d783922649aefe0be1.png玉女心经-web前端开发教程

入门 50W+

主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门

04246fdfe8958426b043c89ded0857f1.png天龙八部-实战开发教程

实战 80W+

主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用如下的SQL语句查询出职工表中年龄最大姓名: ``` SELECT name FROM employee WHERE age = (SELECT MAX(age) FROM employee); ``` 其中,`employee` 为职工表的表名,`name` 和 `age` 分别为姓名年龄字段的名称。这条SQL语句先使用子查询获取到职工表中年龄最大的值,然后在外层查询中根据这个最大值来获取对应的姓名。如果有多个职工的年龄都是最大的,那么这条SQL语句会返回所有这些职工的姓名。 ### 回答2: 要查询出职工表中年龄最大姓名,可以使用MySQL的MAX函数和子查询来实现。 假设职工表的表名为employee,其中包含字段name和age。以下是查询语句的步骤: 首先,使用子查询找到年龄最大值。子查询的语句为:SELECT MAX(age) FROM employee; 然后,将子查询的结果作为条件,使用WHERE子句将最大年龄筛选出来。查询语句为:SELECT name FROM employee WHERE age = (SELECT MAX(age) FROM employee); 最后,执行以上查询语句,即可得到年龄最大的职工姓名。 举个例子,假设职工表的数据如下: | name | age | | -------- | ------- | | 张三 | 28 | | 李四 | 32 | | 王五 | 30 | | 赵六 | 35 | 执行以上查询语句后,将会返回职工姓名为"赵六",因为他的年龄是表中的最大值35。 以上就是使用MySQL查询职工表中年龄最大姓名的方法,希望对您有所帮助。 ### 回答3: 要查询MySQL中职工表中年龄最大姓名,可以使用以下SQL语句: ``` SELECT 姓名 FROM 职工表 ORDER BY 年龄 DESC LIMIT 1; ``` 以上语句通过`ORDER BY`关键字降序排序职工表中的年龄,并使用`LIMIT 1`限制只返回一行结果。这样就能查询年龄最大的职工的姓名。 请注意,以上语句中的"职工表"、“姓名”和“年龄”是占位符,实际查询中需要替换成具体的表名和列名。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值