當前位置:首頁 » 編程語言 » sql條件分組

sql條件分組

發布時間: 2023-08-20 16:45:40

A. sql多條件分組查詢,求sql語句。

分組是用來聚集匯總的,如求平均、求總和、求最大等
你這個不需要分組,直接排序就可以了

selectname,datefromtableorderbynameasc,datedesc

如果每組要按date的降序排列,也挺簡單

with t1 as (select name, max(date) md from table group by name,

t2 as (select table.name name, table.date date, t1.md from table join t1 on table.name=t1.name

order by t1.md)

select name,date from t2

B. SQL對取值范圍進行分組匯總的幾種辦法

可以用到自定義函數,
create or replace FUNCTION g2(v NUMBER) RETURN INT IS
TYPE it IS TABLE OF INT;
BEGIN
IF v>0 AND v<= 500 THEN
RETURN 1;
ELSIF v>500 AND v<= 1000 THEN
RETURN 2;
ELSIF v>1000 AND v<= 5000 THEN
RETURN 3;
ELSIF v>5000 AND v<= 20000 THEN
RETURN 4;
ELSE
RETURN 0;
END IF;
END g2;
/
select g2(id) f, count(1) cnt from t1 group by g2(id) order by 1;
F CNT
---------- ----------
1 500
2 500
3 4000
4 15000

當然,我們也可以不藉助函數,而用case when語句實現同樣的條件分組,但是語句比較冗長,列名是固定的。不利於閱讀與修改,也不利於代碼重用。
select (case
when id >0 AND id<= 500 THEN 1
when id >500 AND id<= 1000 THEN 2
when id >1000 AND id<= 5000 THEN 3
when id >5000 AND id<= 20000 THEN 4
else 0
end) f,
count(1) cnt from t1 group by
(case
when id >0 AND id<= 500 THEN 1
when id >500 AND id<= 1000 THEN 2
when id >1000 AND id<= 5000 THEN 3
when id >5000 AND id<= 20000 THEN 4
else 0
end)
order by 1;
F CNT
---------- ----------
1 500
2 500
3 4000
4 15000

C. sql多條件分組查詢,求sql語句。

sql多條件分組查詢舉例:
比如有兩張表:
表一:
姓名 分數
——————
李一 2
李二 1
李三 1
張一 3
張二 2
張三 2
……

表二:


——



要查詢表二中的姓的數據對表一進行分組,然後將分數統計出來。

sql語句寫法如下:
SELECT
b. NAME,
sum(a.score) AS 分數
FROM
tb1 a
LEFT JOIN tb2 b ON SUBSTR(a.name FROM 1 FOR 1)= b.`name`
GROUP BY
b. NAME;

這個是Mysql的寫法 Oracle把SubStr函數改一下就可以了。

D. SQL語句中,如何根據條件分組

首先,使用下面語句:
select date, count(date) cnt from user where date is not null group by date
結果:
date cnt
1月 2
2月 2
3月 1

在上面語句基礎上改進,使之與要求結果一致:
select max(case when date = '1月' then cnt else 0 end ) 1月,
max(case when date = '2月' then cnt else 0 end ) 2月,
max(case when date = '3月' then cnt else 0 end ) 3月
from (select date, count(date) cnt from user where date is not null group by date)

E. SQL對查詢結果進行分組(sql分組查詢)

1.打開plsql並轉到登錄頁面。

2.以管啟胡搭理員身份登錄資料庫

3.登錄後,創建一個新的SQL窗口。

4,輸入,以下語做游句選擇a.file#,a.name,a.bytes/1024/1024CurrentMB,ceilHWM*a.block_size/1024/,a.bytes-HWM*a.block_size/1024/1024releaseMB;

5.單擊「執行」按鈕以執行查詢操作。

6,查詢後,可以悄拿在查詢結果中看到每個資料庫文件的具體路徑。

熱點內容
搭建的伺服器怎麼連接不了 發布:2025-02-05 08:49:05 瀏覽:656
wordbox安卓怎麼玩 發布:2025-02-05 08:36:12 瀏覽:531
車內安卓大屏怎麼聯網 發布:2025-02-05 08:33:47 瀏覽:342
安卓手機中的投影在哪裡 發布:2025-02-05 08:01:57 瀏覽:595
php調用定義函數 發布:2025-02-05 08:00:30 瀏覽:452
ubuntujava環境變數 發布:2025-02-05 07:57:13 瀏覽:443
sql語句on 發布:2025-02-05 07:41:42 瀏覽:598
取消電腦密碼怎麼設置8 發布:2025-02-05 07:24:16 瀏覽:394
洗腦編程 發布:2025-02-05 07:23:52 瀏覽:949
osd加密 發布:2025-02-05 07:17:39 瀏覽:37