求一个sql,搜索比某条记录数少的第一条记录。

BILLSSJONE 2011-03-20 10:37:42
一个用户记录表,有重复的记录,搜索比某条记录数少的第一条记录。
比如下面,user1有3条记录,搜索比user1记录数少的一个用户,有user3和user2,但只取最多的一条记录,就是只取user3,请问sql怎么写?谢谢!!

CREATE TABLE `user` (
`iUKey` int(8) NOT NULL auto_increment,
`cUserName` varchar(30) NOT NULL default '',
PRIMARY KEY (`iUKey`)
) ENGINE=MyISAM;
INSERT INTO `user` VALUES (1, 'user1');
INSERT INTO `user` VALUES (2, 'user1');
INSERT INTO `user` VALUES (3, 'user1');
INSERT INTO `user` VALUES (4, 'user3');
INSERT INTO `user` VALUES (5, 'user3');
INSERT INTO `user` VALUES (6, 'user6');
INSERT INTO `user` VALUES (7, 'user6');
INSERT INTO `user` VALUES (8, 'user6');
INSERT INTO `user` VALUES (9, 'user6');
INSERT INTO `user` VALUES (10, 'user2');

结果:user3
...全文
78 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
WWWWA 2011-03-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sjzzy 的回复:]
如果 ‘user1’的记录再加多一条
SQL code
insert into user values(6,'user1');

楼上的查询就是Empty set了
这条更通用:
SQL code
select cusername
from user
group by cusername
having count(*) <
(select count(*)
……
[/Quote]
1、insert into user values(6,'user1');
`iUKey`是主键,无法插入;
2、去掉6
insert into user values(null,'user1');
在楼主的测试数据中,没有COUNT(*)=3的记录,故为空集
sjzzy 2011-03-21
  • 打赏
  • 举报
回复
如果 ‘user1’的记录再加多一条
insert into user values(6,'user1');

楼上的查询就是Empty set了
这条更通用:
select cusername 
from user
group by cusername
having count(*) <
(select count(*)
from user
where cusername='user1'
)
order by count(*) desc
limit 1;

WWWWA 2011-03-21
  • 打赏
  • 举报
回复
自己解决更好

SELECT a1.* FROM (
SELECT a.cUserName,COUNT(*) AS ma FROM `user` a GROUP BY a.cUserName ) a1
INNER JOIN
(SELECT a.cUserName,COUNT(*) AS mb FROM `user` a WHERE a.cUserName='user1' GROUP BY a.cUserName ) a2
ON a1.ma=a2.mb-1

or

sELECT a.cUserName,COUNT(*) FROM `user` a GROUP BY a.cUserName
HAVING COUNT(*)=(SELECT COUNT(*)-1 FROM `user` a WHERE a.cUserName='user1' GROUP BY a.cUserName )




ACMAIN_CHM 2011-03-21
  • 打赏
  • 举报
回复
mysql> select * from user;
+-------+-----------+
| iUKey | cUserName |
+-------+-----------+
| 1 | user1 |
| 2 | user1 |
| 3 | user1 |
| 4 | user3 |
| 5 | user3 |
| 6 | user6 |
| 7 | user6 |
| 8 | user6 |
| 9 | user6 |
| 10 | user2 |
+-------+-----------+
10 rows in set (0.09 sec)

mysql> select cUserName
-> from user
-> group by cUserName
-> having count(*)=(select count(*)-1 from user where cUserName='user1')
-> limit 1;
+-----------+
| cUserName |
+-----------+
| user3 |
+-----------+
1 row in set (0.00 sec)

mysql>
BILLSSJONE 2011-03-20
  • 打赏
  • 举报
回复
我想出来了,谢谢
select distinct A.user from user A where (select count(iUKey) as getcount from user where user=A.user)<=3 order by (select count(iUKey) as getcount from user where user=A.user) desc limit 1
内容概要:本文围绕考虑阶梯式碳交易与供需灵活双响应的综合能源系统优化调度问题展开研究,提出了一种结合阶梯式碳交易机制与需侧灵活响应能力的综合能源系统优化调度模型。通过引入阶梯式碳交易机制,激励系统减少碳排放,同时充分挖掘电、热、气等多能负荷的供需双侧灵活性,提升系统运行的经济性与环保性。采用Matlab进行仿真建模与解,验证了所提模型在降低系统运行成本、提高可再生能源消纳能力和减少碳排放方面的有效性。研究内容涵盖目标函数构建、约束条件设定、多能耦合设备建模以及解算法实现等关键环节,为低碳、高效、灵活的综合能源系统调度提供了理论支持和技术路径。; 适合人群:具备一定电力系统、能源系统或优化理论基础,从事相关领域研究的研究生、科研人员及工程技术人员,尤其适合关注碳交易机制、需响应与综合能源系统优化的从业者。; 使用场景及目标:① 掌握阶梯式碳交易机制在综合能源系统调度中的建模方法;② 学习如何量化与整合供需双侧灵活性资源参与系统优化;③ 实现综合能源系统多目标优化调度的Matlab编程与仿真分析;④ 为实际能源系统低碳调度策略制定提供参考依据。; 阅读建议:建议读者结合Matlab代码深入理解模型构建细节,重点关注目标函数中碳交易成本项的设计、需响应约束的数学表达以及解过程中多能耦合关系的处理方式,可通过调整参数进行敏感性分析以加深对模型性能的理解。
项目资源包含:可运行源码+sql文件+LW; python3.8+django+mysql5.7+html 适用人群:学习不同技术领域的小白或进阶学习者;可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 系统前台都设计实现了手机、智能手表、平板、帖子、畅销榜等这些功能。 系统后台都实现了权限认证、商品管理、订单管理、支付信息管理、购物车管理、用户管理等这些管理。 本项目是一个以Django框架为基础开发的数码性能站系统,专为希望深入学习Python、Django及Web开发技术的学习者设计。该系统资源完整,不仅提供了能够直接运行的源码,还配备了必要的SQL文件和学习资料,适合从初学者到进阶学习者使用,同时也适合作为毕业设计、课程设计、大型作业和工程实训的素材,亦可作为企业初期项目开发的参考。 该系统以数码产品为主题,构建了一个具备丰富功能的在线平台。在前台设计上,系统支持不同设备如手机、智能手表、平板电脑等多种客户端的访问,提供了一个友好的用户界面。用户能够浏览各类数码产品,并查看产品的详细信息、畅销排行等,提供了类似帖子功能,用户可以围绕产品展开交流讨论。 系统后台管理功能完善,提供了权限认证机制,确保了操作的安全性。通过后台管理平台,管理员可以高效地进行商品管理、订单管理、支付信息管理、购物车管理、用户管理等一系列操作。这些功能的实现,不仅为学习者提供了实践操作的机会,也为将来从事电商平台开发的开发者奠定了基础。 技术栈方面,该项目要学习者具备一定的Python知识,版本为Python3.8,同时熟悉Django框架,并需要使用到mysql5.7数据库。前端开发则利用了HTML技术。整体上,该系统提供了从数据库设计到前端展示,再到后端逻辑处理的完整开发体验,能够帮助学习者全方位提升Web开发技能。 在项目资料方面,除了源码和数据库文件外,还包括了详细的项目使用说明和重要说明文档,帮助学习者更好地理解和操作整个系统。此外,还提供了旧版程序,便于对比学习和掌握技术演进的脉络。整个项目的设计理念是通过实践来加深对Django框架和Web开发的理解。 该项目是一个内容丰富、功能全面、实践性强的Web开发学习平台,非常适合想要系统学习和掌握Django开发的学生或开发者使用。无论是作为教学案例,还是实际项目练习,它都能提供很好的支持。
内容概要:本文围绕基于两阶段鲁棒优化算法的微网多电源容量配置展开研究,提出了一种能够有效应对可再生能源出力与负荷需不确定性的优化方法。该方法通过构建包含风能、光伏、储能及柴油机等多种分布式电源的微电网系统模型,采用两阶段鲁棒优化框架,在第一阶段确定各电源的最优容量配置,在第二阶段针对不确定性因素进行调度调整,从而保证系统在各种运行场景下的可靠性与经济性。文中给出了完整的Matlab代码实现,结合YALMIP工具箱调用解器进行建模解,便于读者复现与拓展。研究还考虑了实际工程中常见的运行约束与技术限制,提升了方案的实用性。; 适合人群:具备一定电力系统基础知识和Matlab编程能力,从事新能源、微电网、优化调度等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:① 掌握两阶段鲁棒优化在微电网规划中的建模思路与实现技巧;② 学习如何处理风光出力不确定性问题;③ 借助开源代码快速搭建类似优化模型,应用于科研仿真或项目开发。; 阅读建议:建议结合文档中的代码逐行理解建模逻辑,重点关注不确定集合的构建、鲁棒对等转换过程以及YALMIP的语法应用,同时可尝试替换不同的电源类型或引入新的约束条件以深化学习效果。

57,064

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧