Ⅰ sql多表联合查询按日期排序
select B.Order,B.DataTime
from 表1 A ,表2 B
where A.PlantFlag =1
and A.CusOrder =B.AssOrder
order by B.DataTime
看看是不是这个意思
Ⅱ SQL关联表排序
为啥会有两个Order by ,而且Order by 为什么是在Having前面的,最后count(t0.name)这个没运算的?
Ⅲ sql 如何同时排序和合计
你这个要使用over函数行数据后面加入总计方法
如下:
select*,sum(field)over()fromtableNameorderbyfielddesc
试一试,如有疑问,及时沟通!
Ⅳ SQLserver 联合查询排序问题
不知道你原来的sql语句啥样子啊。。。
SELECT
ISNULL(sale_item, '总计') AS item,
CASE
WHEN GROUPING(sale_item) = 1
AND GROUPING(STR(DATEPART(qq, sale_date))) = 1
THEN '总计'
WHEN GROUPING(sale_item) = 0
AND GROUPING(STR(DATEPART(qq, sale_date))) = 1
THEN '小计'
ELSE
STR(DATEPART(qq, sale_date))
END AS sale_q,
SUM(sale_money) [money]
FROM
sale_report
GROUP BY
sale_item, STR(DATEPART(qq, sale_date)) WITH ROLLUP;
item sale_q money
---- ---------- ----------------------------------------
A 1 180810.00
A 2 182819.00
A 3 184828.00
A 4 184828.00
A 小计 733285.00
B 1 180.00
B 2 455.00
B 3 735.00
B 4 1012.00
B 小计 2382.00
C 1 1398.00
C 2 1426.00
C 3 1457.00
C 4 1457.00
C 小计 5738.00
T 3 100.00
T 小计 100.00
总 总计 741505.00
(18 行受影响)
<hr/>
如果希望 总计、小计显示在上面, 那么 ORDER BY 设置一下.
SELECT
ISNULL(sale_item, '总计') AS item,
CASE
WHEN GROUPING(sale_item) = 1
AND GROUPING(STR(DATEPART(qq, sale_date))) = 1
THEN '总计'
WHEN GROUPING(sale_item) = 0
AND GROUPING(STR(DATEPART(qq, sale_date))) = 1
THEN '小计'
ELSE
STR(DATEPART(qq, sale_date))
END AS sale_q,
SUM(sale_money) [money]
FROM
sale_report
GROUP BY
sale_item, STR(DATEPART(qq, sale_date)) WITH ROLLUP
ORDER BY
GROUPING(sale_item) desc, item,
GROUPING(STR(DATEPART(qq, sale_date))) desc
item sale_q money
---- ---------- ----------------------------------------
总 总计 741505.00
A 小计 733285.00
A 1 180810.00
A 2 182819.00
A 3 184828.00
A 4 184828.00
B 小计 2382.00
B 1 180.00
B 2 455.00
B 3 735.00
B 4 1012.00
C 小计 5738.00
C 1 1398.00
C 2 1426.00
C 3 1457.00
C 4 1457.00
T 小计 100.00
T 3 100.00
(18 行受影响)
Ⅳ sql联合语句排序问题
SELECT DISTINCT (CIF_NO), CIF_NAME, ID_NO,CUST_TYPE,CIF_TYPE, ID_TYPE, TX_DATE FROM (
SELECT m.*, rownum as rnum
FROM (SELECT c.* FROM (select a.cif_No, a.cif_name, a.id_no, b.cust_type, b.cif_type, a.id_type,b.TX_DATE as TX_DATE from cif_corp_inf a, cif_base b where a.cif_no = b.cif_no
union all
select a.cif_no, a.cif_name,a.id_no, b.cust_type,b.cif_type, a.id_type, b.TX_DATE as TX_DATE from cif_pers_inf a, cif_base b where a.cif_no = b.cif_no
union all
select a.cif_no, a.cif_name, a.id_no, b.cust_type, b.cif_type,‘’ as id_type, b.TX_DATE as TX_DATE from cif_share_list a, cif_base b
where a.cif_no = b.cif_no
) c ) m
WHERE rownum <10000000 ) WHERE rnum >= 1 order by TX_DATE desc 或asc
这样试试
Ⅵ sql 多条件排序
select * from 表名 order by p.procts_sort_order,p.procts_date_added
Ⅶ sql联合查询排序
应该是order by pubdate,而不是order by a.pubdate。执行order by的时候,已经没有表这个概念了,就是当前记录集的列名就行了。
如果有多个表中都有字段叫pubdate,那应该分别给他们别名用于区别,比如
select t1.pubdate as pubdate1, * from t1...... order by pubdate1
Ⅷ 关于sql的三表联合排序
selecta.cirid,
(selectcount(1)frombwherea.cirid=b.cirid)bcount,
(selectcount(1)fromcwherea.cirid=c.cirid)ccount
froma
orderby2desc,3desc
Ⅸ SQL语句中UNION排序问题
代码改写如下:
select a.输出字段1, a.输出字段2, a.输出字段3, ...a.输出字段n from
(select * ,1 as px from 表A where 软件名称 like '%迅雷%'
union
select * ,2 from 表A where 软件简介 like '%迅雷%') a order by a.px
如果不在意多出一个用于排序的字段“px”的话,代码可简化如下
select * ,1 as px from 表A where 软件名称 like '%迅雷%' order by 1
union
select * ,2 from 表A where 软件简介 like '%迅雷%'
***注意,因人为增加了一个排序用数字字段(第一个查询用1,第二个用2),UNION关键字的删除两个查询之间重复数据的功能会不起作用,如果需要保持删除重复记录的能力,则需要使用DISTINC关键字,例如:
select distinct a.输出字段1, a.输出字段2, a.输出字段3, ...a.输出字段n from
(select * ,1 as px from 表A where 软件名称 like '%迅雷%'
union
select * ,2 from 表A where 软件简介 like '%迅雷%') a order by a.px
上机试一试吧
Ⅹ SQL中组合查询的排序问题
在代码后面添加 order by 总价
如果是降序,则 order by 总价 desc