----------- -----------
|id. |count. |
----------- -----------
| 192044| 1|
| 192045| 1|
| 192046| 1|
| 793820| 2|
| 285030| 2|
| 924949| 5|
----------- -----------
我將如何撰寫我的 SQL 陳述句來選擇具有最小計數的客戶?這是排名功能嗎?
我認為應該是的 SUDO:
SELECT *
FROM (SELECT id, count(id) as count from base_table group by id)
GROUP BY id, count
HAVING order_count = (SELECT MIN(count) FROM (SELECT id, count(id) as count from base_table id))
uj5u.com熱心網友回復:
SELECT * FROM <DataBase_Table_name> 按計數 ASC 排序;
uj5u.com熱心網友回復:
我們可以嘗試使用dense_rank視窗函式來制作它,它可能會從最低生成數字count。
SELECT *
FROM (
SELECT *,dense_rank() OVER(ORDER BY count) rn
FROM T
) t1
WHERE rn = 1
從您的評論來看,這可能是打擊查詢。
SELECT id,count
FROM (
SELECT *,dense_rank() OVER(ORDER BY count) rn
FROM (
SELECT id, count(id) as count
FROM base_table
GROUP BY id
)
) t1
WHERE rn = 1
uj5u.com熱心網友回復:
你可以這樣做:
Select id
From tbl t
Outer apply (select min(count) as mincount from tbl) s
Where count = mincount
基本上,您使用子查詢來獲取全域最小計數,然后使用 OUTER APPLY 將表中的每一行與此結果集結合起來。
uj5u.com熱心網友回復:
試試這個:
with base as(
select
id
, count
, min(count) over() as min_value
from table
order by count desc
) select *
from base
where count = min_value
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/471028.html
標籤:sql
