相关疑难解决方法(0)

SQL排序升序时如何使空值最后

我有一个带有日期时间字段的SQL表.有问题的字段可以为null.我有一个查询,我希望结果按日期时间字段按升序排序,但是我想要在列表末尾的日期时间字段为空的行,而不是在开头.

有没有一种简单的方法来实现这一目标?

sql sorting sql-order-by

280
推荐指数
10
解决办法
23万
查看次数

PostgreSQL按日期时间asc排序,先是null吗?

我需要按日期/时间字段对PostgreSQL表进行排序,例如last_updated.

但是,该字段允许为空或空,我想与空记录last_updated之前,非空last_updated.
这可能吗?

order by last_updated asc /* and null last_updated records first ?? */
Run Code Online (Sandbox Code Playgroud)

sql postgresql null sql-order-by

69
推荐指数
2
解决办法
4万
查看次数

按ASC排序,底部为空

我正在编写一个将学校表连接到地区表的SQL查询.简单的一对多关系,每所学校都隶属于一个学区.我的查询如下:

SELECT 
    schools.id AS schoolid,
    schools.name AS school, 
    districts.id AS districtid, 
    districts.name AS district
FROM sms_schools AS schools
    LEFT JOIN sms_districts AS districts ON schools.districtid = districts.id
WHERE 1 = 1
ORDER BY districts.name, schools.name
Run Code Online (Sandbox Code Playgroud)

我做左派的原因是因为不是每个学校都附属于一个学区.例如,一所学校可能是家庭教育,可能包含所有在家接受教育的学生.那不会是在一个地区.

所以我想要做的是使用ORDER BY来按地区名称和学校名称进行排序.唯一的问题是我希望null区位于底部,以便我可以在输出结束时使用一个名为"Other"的组.

是否可以通过在输出结尾处以空值递增来进行排序?

mysql sql sql-order-by

38
推荐指数
3
解决办法
2万
查看次数

Oracle最后以NULL递减降序

我的目标是,以"DESCENDING"顺序打印查询结果.但问题是,具有NULL值的行位于列表的顶部..如果order by降序,如何将空行放在底部?

select mysubcat.subcat
       , mysubcat.subcatid as subcat_id
       , (select SUM(myad.PAGEVIEW) 
           from myad 
            where MYAD.CREATEDDATE between  '01-JUL-13 02.00.49.000000000 PM' and '13-JUL-13 02.00.49.000000000 PM'
            AND MYAD.status = 1 
            and  MYAD.mobileapp IS NULL
            and myad.subcatid = mysubcat.subcatid )as web_views 
from mysubcat 
order by web_views desc;
Run Code Online (Sandbox Code Playgroud)

样本结果是这样的

                             SUBCAT_ID    WEB_VIEWS
Swimming Lessons                56        (null)    
Medical Services                17        (null)
Mobile Phones & Tablets         39        6519
Home Furnishing & Renovation   109        4519
Run Code Online (Sandbox Code Playgroud)

顺序是降序,我只是想在打印结果的底部放置带有空值的行,那怎么样?

sql oracle

13
推荐指数
2
解决办法
2万
查看次数

如何在DQL中按NULL排序?

我正在使用Symfony2框架和使用Doctrine ORM构建应用程序.我有一张航空公司的表格,其中缺少一些IATA代码.我正在输出一个按此IATA代码排序的列表,但是我得到了一个不合需要的结果,即带有空IATA代码的记录在顶部排序.

在MySQL中,这很简单,ORDER BY ISNULL(code_iata), code_iata但我对DQL的等价物一无所知.我试过了

$er->createQueryBuilder('airline')->orderBy('ISNULL(airline.codeIata), airline.codeIata', 'ASC')
Run Code Online (Sandbox Code Playgroud)

但这给了我一个语法错误.

学说文档也没有给我答案.有办法吗?

dql symfony doctrine-orm

4
推荐指数
4
解决办法
8772
查看次数

通过CakePHP部署的NULLS LAST的等价物

这就是我正在使用的:

$this->paginate = array(
    'order' => array('Job.deadline' => 'ASC'),
    'limit' => 500
);
Run Code Online (Sandbox Code Playgroud)

并非所有乔布斯都有截止日期,而且目前,通过这个订单,NULLS出现在截止日期之上,所以实际上我有这个:

NULL
NULL
NULL
28/06/2012
29/06/2012
04/07/2012
Run Code Online (Sandbox Code Playgroud)

为了清楚起见,我迫切希望得到这个:

28/06/2012
29/06/2012
04/07/2012
NULL
NULL
NULL
Run Code Online (Sandbox Code Playgroud)

有没有办法通过CakePHP中的paginate'order'选项实现这一目标.有没有人管理这个?

mysql null cakephp sql-order-by

0
推荐指数
1
解决办法
636
查看次数

标签 统计

sql ×4

sql-order-by ×4

mysql ×2

null ×2

cakephp ×1

doctrine-orm ×1

dql ×1

oracle ×1

postgresql ×1

sorting ×1

symfony ×1