如何將一個複雜的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
現在篩選出來了
相關文章
- [GoogleAPI](5)篩選結果GoAPI
- mysql返回一個結果集的儲存過程小例子MySql儲存過程
- 生成下拉框、複選、單選框的幾個類,支援資料庫結果集生成 (轉)資料庫
- MySQL in UnionAll結果集的優化MySql優化
- MySQL中如何橫向顯示結果集薦MySql
- excel怎麼篩選?教你一個簡單粗暴的篩選技巧Excel
- 一個小廠前端 Leader 如何篩選候選人?前端
- excel批量篩選重複人名 excel怎麼篩選相同的名字Excel
- excel批次篩選重複人名 excel怎麼篩選相同的名字Excel
- 如何搭建一個功能複雜的前端配置化框架(一)前端框架
- 如何用 Swift 做一個複雜的載入動畫Swift動畫
- 一個複雜的json例子JSON
- 使用ROWNUM將導致查詢結果集的固化
- mysql中的多行查詢結果合併成一個MySql
- 巧用臨時表將大結果集轉換為小結果集驅動查詢薦
- MySQL EXPLAIN結果集分析 - 附帶大量案例MySqlAI
- 關於如何根據shp檔案篩選csv某個省份資料集
- excel篩選後複製貼上怎樣跳過隱藏行 如何只貼上到篩選出的部分Excel
- excel如何篩選出自己想要的部分 excel表格如何篩選特定內容Excel
- 技術人員該如何接手一個複雜的系統?
- MySQL 將查詢結果匯出到檔案MySql
- iOS FMDB有返回結果集和無返回結果集iOS
- ES 如何得到像mysql 中 like 一樣的搜尋結果MySql
- Jvm 重複載入同一個類的結果會怎麼樣?JVM
- 如何建立複雜專案的WBS結構(轉)
- 簡單的mysql儲存過程,輸出結果集MySql儲存過程
- jmeter 如何將上一個請求的結果作為下一個請求的引數——使用正則提取器JMeter
- java使用mybatis 呼叫函式返回一個遊標結果集JavaMyBatis函式
- 如何:在執行 SQL 工作中將結果集對應至變數SQL變數
- DBeaver 匯出多個查詢結果集
- 一個篩選mongo存在某個欄位的資料的技巧Go
- Sparkstreaming讀取Kafka訊息再結合SparkSQL,將結果儲存到HBaseSparkKafkaSQL
- 資料結構複習一:雜湊表的總結資料結構
- 利用MySQL的一個特性實現MySQL查詢結果的分頁顯示(轉)MySql
- 如何通過 PHP 取得 MySQL procedure 結果PHPMySql
- 【Python】轉換mysql 結果集為詞典型別PythonMySql型別
- mysql 兩個表結果合拼到一個表,用常量區別不同的表MySql
- php中mysqli處理查詢結果集的幾個方法PHPMySql