sql server中如何筛选出目前客户的普遍需求是中最普遍的名字

微信朋友圈里的文章,是如何高效率从数据中筛选出来的?
请教各位,我们的项目中目前遇到一个和微信朋友圈类似的需求,需要把用户关注的所有人发的文章出来。目前我们用的方法是:找出该用户的所有已关注的人的UserId,然后再用Or来拼接UserId,并从文章表中找出数据。我们发现当用户关注的人数过多时(超过1000人),效率非常低,请问有好的解决方式吗?会不会是表的结构不合理造成的呢?谢谢大家!!!我们用的数据是SQL Server2008 R2,索引已经做。
已有帐号?
无法登录?
社交帐号登录4552人阅读
MySQL(5)
sql server查询每门课程的前两名的学生编号,课程编号,成绩并排序。
在SQL&Server&数据库中,有一个表StudentAchievement(学生成绩),
它有三个字段:StudentID(varchar(8),学生编号),CourseID(varchar(10),课程编号),Achievement(int&,成绩),
写一条SQL语句,筛选出每门课程的前两名的学生编号,课程编号,成绩并排序。
--将每科前两名学生的ID取出
这是个自连接问题,可以这样想,就是把studentachievement表看成两个表,A和B,
A取的是B表中筛选出来的ID,而B表中筛选出来的ID则要靠A中的courseID来筛选,
即A表里选出来的是和B表courseID相同的,但在B表中占前两项的值。
FROM&STUDENTACHIEVEMENT A
WHERE&STUDENTID&IN&(SELECT&TOP&2 STUDENTID
&&&&&&&&&&&&&&&&&&&&&&&FROM&STUDENTACHIEVEMENT B
&&&&&&&&&&&&&&&&&&&&&&WHERE&B.COURSEID&=&A.COURSEID
&&&&&&&&&&&&&&&&&&&&&&ORDER&BY&B.ACHIEVEMENT&DESC)
ORDER&BY&A.COURSEID,&A.ACHIEVEMENT&DESC
--以科目,按成绩给记录编号,然后取出编号&=2的,就是每科前两名
FROM&STUDENTACHIEVEMENT A
WHERE&(SELECT&COUNT(*)
&&&&&&&&&&FROM&STUDENTACHIEVEMENT B
&&&&&&&&&WHERE&B.COURSEID&=&A.COURSEID
&&&&&&&&&&&AND&B.ACHIEVEMENT&&=&A.ACHIEVEMENT)&&=&2
ORDER&BY&A.COURSEID,&A.ACHIEVEMENT&DESC
例查询后的效果:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:127534次
积分:1494
积分:1494
排名:第18080名
原创:10篇
转载:82篇
(1)(4)(1)(36)(9)(24)(12)(4)(1)怎样从表中以每小时为单位筛选出一个数据,该怎么解决 - Sql Server当前位置:& &&&怎样从表中以每小时为单位筛选出一个数据,该怎么解决怎样从表中以每小时为单位筛选出一个数据,该怎么解决&&网友分享于:&&浏览:50次怎样从表中以每小时为单位筛选出一个数据现有电量采集软件自动生成的数据表格,表中无ID列,MeterID为电表名对应的ID,现在想以每小时为单位从ReadNumber列中抽出一个值用来计算每小时的耗电量,表中每小时存储4个值且存储的时间不确定(由GPRs设备采集网络延时等原因 时间不准确),ReadDate列为varchar,因为数据是软件自动存储 所以无法改变最好是能将数据取出来做成这样一个表格()日期和时分秒分开MeterID 日期 时间(小时) ReadDate& 现在的表结构我现在是用临时表在sql中能取出数据但是因为数据存储时间不确定 取出的数据不准确 最好是能用视图做出结果 这样在。net中也好用SELECT TOP 25 id=IDENTITY(int, 1, 1),* INTO #tmp FROM ReadNow WHERE MeterID = 8AND ReadDate LIKE'%:01:%' ORDER
BY ReadDate DESCSELECT ReadNumber=(Isnull(ReadNumber - (SELECT TOP 1 ReadNumber &
id = A.id + 1 &
BY id DESC), 0))*30FROM
#tmp AS A;& 现在是这样写的求解决...------解决方案--------------------
临时表断开连接就消失了
至于你的这个问题 正在想 \(^o^)/~
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有如何找出你性能最差的SQL Server查询 | 程序师

我要回帖

更多关于 普遍客户关系 的文章

 

随机推荐