Ⅰ 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