如何將一個複雜的mysql結果集,再篩選一次
通過下面的極其複雜的sql語句,如下
SELECT d.id AS uid,(SELECT paystudate_id FROM erp_demand_meter as b WHERE demand_id = d.id ORDER BY addtime DESC LIMIT 1) as pp,
(SELECT uerdates FROM erp_demand_meter as b WHERE demand_id = d.id and b.paystudate_id = 14 ORDER BY addtime DESC LIMIT 1) as uerdat,
(SELECT plan_time FROM erp_demand_meter AS b where Demand_id = d.id ORDER BY addtime DESC limit 1) AS plan_time,
(SELECT addtime FROM erp_demand_meter WHERE Demand_id = d.id ORDER BY addtime DESC LIMIT 1) AS time ,
d.exec_name,d.paytime,d.paystudate,d.facttime,d.Demand_type_id,d. NAME,d.pid,d.addtime,d.company_type,d.demand_desc,d.pername,d.Demand_file_id, DATE_FORMAT(d.endtime, '%Y-%m-%d') AS edtime,d.state,d.perid,d.demand_level,d.demand_file,t.type_name,t.company_id,t.id
FROM erp_demand d LEFT JOIN erp_demand_type t ON d.demand_type_id = t.id
where d.paystudate = 0 and demand_type_id = 1
ORDER BY d.update_time desc,uid desc limit 0,20
我們得到了一個多集合的結果集,我們這次的任務是pp為NULL和0的篩選出來
用到:
(1)IFNULL(expr1,expr2)的用法:
假如expr1 不為 NULL,則 IFNULL() 的返回值為 expr1;
(2)用select * from (結果集)as result where IFNULL(result.pp,0) = 0 【可以找出null,0】
如下:
select * from
(SELECT d.id AS uid,(SELECT paystudate_id FROM erp_demand_meter as b WHERE demand_id = d.id ORDER BY addtime DESC LIMIT 1) as pp,
(SELECT uerdates FROM erp_demand_meter as b WHERE demand_id = d.id and b.paystudate_id = 14 ORDER BY addtime DESC LIMIT 1) as uerdat,
(SELECT plan_time FROM erp_demand_meter AS b where Demand_id = d.id ORDER BY addtime DESC limit 1) AS plan_time,
(SELECT addtime FROM erp_demand_meter WHERE Demand_id = d.id ORDER BY addtime DESC LIMIT 1) AS time ,
d.exec_name,d.paytime,d.paystudate,d.facttime,d.Demand_type_id,d. NAME,d.pid,d.addtime,d.company_type,d.demand_desc,d.pername,d.Demand_file_id, DATE_FORMAT(d.endtime, '%Y-%m-%d') AS edtime,d.state,d.perid,d.demand_level,d.demand_file,t.type_name,t.company_id,t.id
FROM erp_demand d LEFT JOIN erp_demand_type t ON d.demand_type_id = t.id
where d.paystudate = 0
ORDER BY d.update_time desc,uid desc)a where IFNULL(a.pp,0) = 0
現在篩選出來了
相關文章
- mysql返回一個結果集的儲存過程小例子MySql儲存過程
- 檢視結果樹之篩選器
- 一個小廠前端 Leader 如何篩選候選人?前端
- excel怎麼篩選?教你一個簡單粗暴的篩選技巧Excel
- excel批量篩選重複人名 excel怎麼篩選相同的名字Excel
- excel批次篩選重複人名 excel怎麼篩選相同的名字Excel
- 一個複雜的json例子JSON
- 如何搭建一個功能複雜的前端配置化框架(一)前端框架
- 複雜連結串列的複製
- excel篩選後複製貼上怎樣跳過隱藏行 如何只貼上到篩選出的部分Excel
- 關於如何根據shp檔案篩選csv某個省份資料集
- 技術人員該如何接手一個複雜的系統?
- excel如何篩選出自己想要的部分 excel表格如何篩選特定內容Excel
- 一個篩選mongo存在某個欄位的資料的技巧Go
- MySQL EXPLAIN結果集分析 - 附帶大量案例MySqlAI
- ES 如何得到像mysql 中 like 一樣的搜尋結果MySql
- mysql完全複製一個表(結構和資料)MySql
- 探討一個比較複雜的查詢
- 簡單的mysql儲存過程,輸出結果集MySql儲存過程
- 如何將複雜專案分解為可管理任務?
- JZ-025-複雜連結串列的複製
- 複雜連結串列的復刻
- MySQL innodb如何選擇一個聚簇索引MySql索引
- java使用mybatis 呼叫函式返回一個遊標結果集JavaMyBatis函式
- iOS FMDB有返回結果集和無返回結果集iOS
- mysql 兩個表結果合拼到一個表,用常量區別不同的表MySql
- Excel如何篩選出自己想要的資料 excel怎麼篩選出需要的內容Excel
- excel怎麼篩選重複的內容 excel找出重複項並提取Excel
- Stream流對List集合篩選重複欄位
- 海量資料“一鍵篩選”,比Excel還好用的篩選功能,更便捷了!Excel
- MySQL超級複雜? 恆訊科技分享幾個使用技巧MySql
- DBeaver 匯出多個查詢結果集
- 面試題35:複雜連結串列的複製面試題
- 將第一個 sql 語句中的結果作為第二個 sql 的引數值SQL
- excel重複項篩選標色 excel表格重複項變色Excel
- TreeSelect 篩選後的全選是否支援僅全選篩選出來的列表
- 如何降低軟體的複雜性?
- [譯] Font-size:一個意外複雜的 CSS 屬性CSS
- 製作一個複雜通用的圖片上傳介面