當前位置:首頁 » 編程語言 » sqltopgroupby
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sqltopgroupby

發布時間: 2022-02-13 14:11:00

sql group by 問題

GROUP BY 子句
將記錄與指定欄位中的相等值組合成單一記錄。如果使 SQL 合計函數,例如 Sum或Count,蘊含於 SELECT 語句中,會創建一個各記錄的總計值。

語法
SELECT 欄位表
FROM 表
WHERE標准
[GROUP BY 分組欄位表]

包含 GROUP BY 子句的 SELECT 語句具有以下幾個部分:

部分 說明
fieldlist 要和任何欄位名別名, SQL 合計函數, 選擇斷定 (ALL, DISTINCT, DISTINCTROW, 或 TOP),或其他 SELECT 語句 選擇一起檢索的欄位名稱。
table 從其中獲取記錄的表的名稱。欲知更多信息請看 FROM 子句.
criteria 選擇准則。如果此語句包含一個 WHERE 子句, Microsoft Jet 資料庫引擎 會在記錄上應用WHERE條件,然後把值分組。
groupfieldlist 用來對記錄分組的欄位名,最多有 10 個欄位。在 groupfieldlist 中欄位名的順序將決定組層次,由最高至最低的層次來分組。

說明
GROUP BY 是可選的。

如果在 SELECT 語句中沒有 SQL 合計函數,則可省略總計值。

Null值在 GROUP BY欄位中,則會被分組而不被省略。但是在任何 SQL 合計函數中不計算 Null 值。

使用 WHERE 子句可以排除您不想分組的行,而將記錄分組後,用 HAVING 子句過濾這些記錄。

除非包含備注數據或 OLE 對象數據,否則, GROUP BY 欄位列表中的欄位可引用 FROM 子句中的任何錶的任何欄位,即使 SELECT 語句不包含此欄位,只要它至少包含一個 SQL 合計函數即可。Microsoft® Jet 資料庫引擎無法在「備注對象」或「OLE 對象」欄位上進行分組。

SELECT 欄位列表中的全部欄位必須包含在 GROUP BY 子句中,或在 SQL 合計函數中作為參數。

⑵ SQL問題 group by 和 top

...where hidden=1 order by brand asc, id desc

⑶ SQL語句中是否用過Sum,Count,Top,Group By,Having,Case...When這些關鍵字,請描述具體用法大家回答下謝謝

sum 匯總某數值型欄位
count 計算個數,欄位類型任意,甚至可以是*
Top 去前多少條記錄 如select top 10 * from table 取前10條記錄
group by 分組,如數據中存在重復欄位,比如超市結算表有很多相同產品,要匯總總計:
select sum(金額) ,商品 from sales group by 商品
Having 判斷聚合函數結果用,如 sum(金額) ,商品 from sales group by 商品 having sum(金額) > 100000
case when 輸出結果按條件顯示
如 select case id when 1 then '男' when 2 then '女' else 『未知' end from gender

⑷ sql group by用法

1. select top 1 姓名,sum(分數) as 分數總和 from 表名 group by 姓名
order by 分數總和 desc

2. select 姓名 from 表名 group by 姓名 having min(分數)>90

測試通過

⑸ sql問題,group by

select pod_part,max(po_ord_date)as ord_date ,Po_vend from pod_det left join po_mstr on po_nbr=pod_nbr
where pod_part like '8%'
group by pod_part,Po_vend

使用left join 和right join 試試

⑹ SQL:group by 、分組、匯總。。。。。。。。。。

首先明確 你求的是什麼 ? 是sum(ApprVchrMoney)對吧1
那麼我們查詢 select sum(ApprVchrMoney) from 表
因為有分組,所以表呢需要分組,創建新表,

SELECT 欄位 from 表 group by a.GathBankAcct--->這樣就分組了 得到了第一個新表(比如新表的名稱叫 table1),
由於還有分組一次
select sum(ApprVchrMoney), from table1 group by table1.LeiCode,KuanCode,XiangCode
----只要你的思路 清楚,就簡單多了

⑺ sqlserver 用group by 後取top

select top 6 (需要的數據列名) from (表名) where (查詢結果需要滿足的條件) group by (以什麼分組) : 取top 6 前6條

⑻ SQL語句中是否用過Sum,Count,Top,Group By,Having,Case...When這些關鍵字,請描述具體用法

用過,其中Sum和Count是聚合函數,Sum的作用是計算一組數的和,Count是計算總共的行數,Count(*)返回行數,包括含有空值的行,不能和Distinct一起使用
Top n[PERCENT]僅返回N行
例如:select top 6 * from student
的意思就是返回學生表的前6行信息
使用Group by分組匯總查詢結果
其他的我也不是很熟,不好意思

⑼ sql句子中group by的問題

呵呵,通常這個問題都可以用子查詢完成,這樣可以:
select id,time,username from (
select top 20 max(time) as time,username from job group by username order by max(time) desc) as t1,job
where job.id=t1.id