`
mai511960247
  • 浏览: 4777 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

case when巧妙的排序

    博客分类:
  • sql
阅读更多
遇到一个需要排序的需求,找了半天终于找到用case when方法解决,把含有46,66非Iphone排在前面显示。
--CASE WHEN
SELECT init_value code, init_value_desc text
  FROM (SELECT t.*,
               CASE
                 WHEN (init_value_desc LIKE '%46%' OR
                      init_value_desc LIKE '%66%' AND
                      init_value_desc NOT LIKE '%IPHONE%') THEN
                  0
                 ELSE
                  1
               END iscontain
          FROM td_sm_element_initvalue t
         WHERE element_code = 403
         ORDER BY iscontain, init_value_desc)
分享到:
评论

相关推荐

    ORACLE多条件统计查询的简单方法

    总的来说,通过巧妙地利用`CASE`表达式进行多条件统计,不仅可以简化代码,提高可维护性,还能在一定程度上提升查询效率。在实际的数据库设计和查询优化过程中,我们应该尽可能地利用这类高级SQL特性,以应对复杂的...

    浅谈SQL数据库中滥用临时表、排序的解决方案

    CASE WHEN pinyin LIKE 'x%' THEN 0 ELSE 1 END, LEN(pinyin), name; ``` 这个查询首先筛选出包含字母"x"的名字,然后通过自定义函数转换拼音,最后根据拼音是否以"x"开头、拼音长度以及名字本身进行排序。 ...

    mysql指定某行或者某列的排序实现方法

    首先,我们来看一个基本的方法,即使用`CASE`语句进行排序。例如,如果我们有一个`sp_product`表,并且想要让产品ID为11042723的产品排在前面,可以写如下SQL: ```sql SELECT sp.productid, sp.productname, ss....

    悼念的经典sql查询语句

    例如,`SELECT CASE WHEN column > 10 THEN '大于10' ELSE '小于等于10' END FROM table`。 9. **索引优化**:理解如何创建和使用索引可以极大地提高查询性能。索引应在经常用于搜索或排序的列上创建,但过多的索引...

    精妙sql

    SELECT a.userper, a.tel, a.standfee, TO_CHAR(a.telfeedate, 'YYYY') AS telyear, SUM(CASE WHEN TO_CHAR(a.telfeedate, 'MM') = '01' THEN a.factration END) AS JAN, ... ``` 通过使用`CASE`语句结合`SUM`函数,...

Global site tag (gtag.js) - Google Analytics