问题:查找数据库同一数据表name=abc的数据,结果条数不确定,有可能为0条数据,最多12条数据。当不满足12条数据时,再查找name=123的数据,条数加上前面name=abc的数据,刚好12条。 要求:1:结果要显示出name=abc的全部数据。【当总条数小于12条时】2:能按照id来排序,当name=abc比如能查出3条,但有2条数据是最新添加的,也就是id【自增】最大的,结果要能降序,升序都先列出满足name=abc的全部数据一条sql语句完成
select top 12 * from table where name='abc' or name='123' order by (case when name='abc' then 1 when name='123' then 0 else -1 end ) desc , ID desc
这是查询前12条name='abc' 或者name='123'的语句 排序的顺序 name='abc'的总是排在前面,不够了使用name='123'来补,可以在前面的基础上使用ID来排序 可以降序也可以升序 (升序要吧 ID 后面的desc 去掉) 如果你对查找数据库同一数据表name=abc的数据,结果条数不确定,有可能为0条数据,最多12条数据。当不满足12条数据时,再查找name=123的数据,条数加上前面name=abc的数据,刚好12条。 要求:1:结果要显示出name=abc的全部数据。【当总条数小于12条时】2:能按照id来排序,当name=abc比如能查出3条,但有2条数据是最新添加的,也就是id【自增】最大的,结果要能降序,升序都先列出满足name=abc的全部数据一条sql语句完成这个问题有好的意见或
建议,请留言
|