From 0eb129a9beddbb86ae74d7106a8e60823206b8d5 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 14 十二月 2023 11:29:15 +0800
Subject: [PATCH] 2023-12-14

---
 src/utils/utils-datamanage.js |   18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/src/utils/utils-datamanage.js b/src/utils/utils-datamanage.js
index 4544fe1..a06bc3f 100644
--- a/src/utils/utils-datamanage.js
+++ b/src/utils/utils-datamanage.js
@@ -204,8 +204,14 @@
         } else {
           DateCount = `/*system_query*/select count(1) as total from ${_dataresource} ${_search}`
         }
+      } else if (setting.$top) {
+        if (orderBy) {
+          LText = `/*system_query*/select top 1 ${arr_field} from ${_dataresource} ${_search} order by ${orderBy} `
+        } else {
+          LText = `/*system_query*/select top 1 ${arr_field} from ${_dataresource} ${_search}  `
+        }
       } else if (orderBy) {
-        LText = `/*system_query*/select ${arr_field} from (select ${arr_field} ,ROW_NUMBER() over(order by ${orderBy}) as rows from ${_dataresource} ${_search}) tmptable order by tmptable.rows `
+        LText = `/*system_query*/select ${arr_field} from ${_dataresource} ${_search} order by ${orderBy} `
       } else {
         LText = `/*system_query*/select ${arr_field} from ${_dataresource} ${_search}  `
       }
@@ -458,8 +464,14 @@
     _search = _search ? 'where ' + _search : ''
   }
 
-  if (setting.order && _dataresource) {
-    _dataresource = `select top 1000 ${setting.arr_field} from (select ${setting.arr_field} ,ROW_NUMBER() over(order by ${setting.order}) as rows from ${_dataresource} ${_search}) tmptable order by tmptable.rows `
+  if (setting.$top) {
+    if (setting.order && _dataresource) {
+      _dataresource = `select top 1 ${setting.arr_field} from ${_dataresource} ${_search} order by ${setting.order} `
+    } else if (_dataresource) {
+      _dataresource = `select top 1 ${setting.arr_field} from ${_dataresource} ${_search} `
+    }
+  } else if (setting.order && _dataresource) {
+    _dataresource = `select top 1000 ${setting.arr_field} from ${_dataresource} ${_search} order by ${setting.order} `
   } else if (_dataresource) {
     _dataresource = `select top 1000 ${setting.arr_field} from ${_dataresource} ${_search} `
   }

--
Gitblit v1.8.0