sql 查询10条记录 前两条要求是要符合特殊要求的

比如说我查询一个新闻表news 里面的特殊要求是新闻图片 pic 这个参数
查询10条记录 但是要求前两条必须有图片

第1个回答  2012-05-29
这种方法没有试过。毕竟在where后面添加的条件限定语句容易将查询的范围给定死。
如果说你是要通过查询结果将查询结果显示在前台的页面上,那么你完全可以在写绑定数据的方法的时候采用两个DataTable合并的方式来处理。这两个DataTable具有相同的列名,但是其中一个DataTable里面有你的特殊参数。
DataTable dtOne = new DataTable(); //这个dtOne用来装载你的前两条具有特殊要求的数据
DataTable dtTwo = new DataTable(); //这个dtTwo用来装载不包含你的特殊要求的后面8条数据
然后合并:(以第一个表为准)
dtOne.Merge(dtTwo);
此后只需要遍历dtOne里面的数据就可以了。

至于在SQL 查询语句中的查询,我也没有试过,待会试试看。呵呵……互相交流哈!
第2个回答  2012-05-29
select top 2* from (select top 10 * from news) as R where R.pic is not null

pic是图片那列
第3个回答  2012-05-31
最好在建表的时候加上一个标志字段,当存入PIC图片时同时在标志字段加上标志这样用SELECT语句时加上Order by就可以实现。

sql 查询10条记录 前两条要求是要符合特殊要求的
最好在建表的时候加上一个标志字段,当存入PIC图片时同时在标志字段加上标志这样用SELECT语句时加上Order by就可以实现。

sql如何查询一定数据条数内符合要求的条数
select count(*)from (select * from 表名 where rownum<=10000 )where 字段 is not null;这是oracle的,请问你用的是什么数据库?

sql查询出来的字段如何按照指定要求去重?
要使用SQL去重查询特定字段,可借助DISTINCT关键字。示例查询语句如下:此语句利用DISTINCT去除column1、column2、column3值的重复,仅保留不同值。如需更复杂去重需求,即根据特定规则合并重复值,可结合GROUP BY子句与聚合函数。示例如下:此语句通过GROUP BY column1对结果进行分组,MAX()函数选取每组中...

怎么用SQL查询表里面的符合2种条件中的数据
看看这条sql语句是否满足你的要求:select * from 表名 where 字段名 in (select 字段名 from 表名 where 字段A=1) where 字段B>5

在Oracle怎样查询表中的top10条记录
主要是从效率上的考虑,前面条语句,是要进行全表扫描后再排序,然后再取10条纪录,后一条语句则不会全表扫描,只会取出10条纪录,很明显后条语句的效率会高许多。那为什么会有争议呢,那就在于在执行顺序上争议,是先执行排序取10条纪录,还是取10条纪录,再排序呢?两种顺序取出来的结果是截然相反...

sql语句查询最新的十条记录,要求非同一人
select from 表名 group by 名字 order by 时间 desc limit 10 这sql语句的意思是查询表名中名字不重复的10条记录,并按时间从大到小排序,只取前面10条记录。

sql 每个编号按时间排序取前两条数据
select t.编号,t.时间from(select 编号,时间,row_number() over (partition by 编号 order by 时间) rn from 表名) twhere t.rn <=2sqlserver或oracle就用上边的吧

SQL 查询各门成绩前两名的学生
比如 你表格里的第一条:陈六、政治 SQL里的子句你把t.subject 替换成 我们这条数据真实的值,就可以看出来 select top 2 stu_id from stu_score where subject='政治' order by score desc 就是查询我当前这条记录对应的subject(政治)里,成绩最高的两条数据的 stu_id。我再提供一种写法...

sql查询数据库最后10条记录按降序如何排列?
SQL的执行顺序先按照你的要求排序,然后才返回查询的内容。例如有一个名为ID自动增长的列,表中有100条数据,列的值得分别是1、2、3、4???9、99、100。那么查询加了DESC你得到的是91到100条,就是最后十条,如果加ASC你得到的将会是1到10,也就是最前面的那几条。降序用desc65条记录用top;如...

SQL查询:要求明细记录里边总额要大于等于并最接近指定的数值
--直接执行,会弹出一个框,你可以输入一个值 WITH tmp AS (SELECT t1.*,dense_rank() OVER(PARTITON BY t1.investor ORDER BY t1.waitedPI ASC) rank_asc FROM v_t_can_assignment_borrow t1 WHERE t1.waitedPI>&输入值)SELECT * FROM tmp WHERE investor='2008' AND rank_asc = 1 ...

相似回答
大家正在搜