国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

如何使用SQL系列 之 如何在SQL中使用GROUP BY和ORDER BY

這篇具有很好參考價值的文章主要介紹了如何使用SQL系列 之 如何在SQL中使用GROUP BY和ORDER BY。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

引言

結(jié)構(gòu)化查詢語言(SQL)數(shù)據(jù)庫可以跨多個表存儲和管理大量數(shù)據(jù)。對于大型數(shù)據(jù)集,理解如何排序數(shù)據(jù)是很重要的,特別是對于分析結(jié)果集或為報告或外部通信組織數(shù)據(jù)。

SQL中有兩個常用的用于數(shù)據(jù)排序的語句:GROUP BYORDER BY。GROUP BY語句根據(jù)查詢中指定的列對數(shù)據(jù)進行分組,并與聚集函數(shù)一起使用。ORDER BY允許您按字母或數(shù)字以及升序或降序組織結(jié)果集。

在本教程中,你將使用GROUP BYORDER BY語句在SQL中對查詢結(jié)果進行排序。你還將練習(xí)在查詢中實現(xiàn)聚合函數(shù)和WHERE子句,以便進一步對結(jié)果進行排序。

前期準(zhǔn)備

為了學(xué)習(xí)本指南,你需要一臺運行某種使用SQL的關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)的計算機。

注意:請注意,許多RDBMS使用它們自己獨特的SQL實現(xiàn)。雖然本教程中概述的命令適用于大多數(shù)RDBMS,但如果你在MySQL以外的系統(tǒng)上測試它們,確切的語法或輸出可能會有所不同。

你還需要一個裝載了一些示例數(shù)據(jù)的數(shù)據(jù)庫和表,可以在其中練習(xí)使用相關(guān)命令。

連接到MySQL并設(shè)置一個示例數(shù)據(jù)庫

如果SQL數(shù)據(jù)庫系統(tǒng)運行在遠程服務(wù)器上,請從本地設(shè)備SSH到服務(wù)器:

ssh sammy@your_server_ip

然后打開MySQL服務(wù)器提示符,將==sammy==替換為你的MySQL用戶賬戶的名稱:

mysql -u sammy -p

創(chuàng)建一個名為movieDB的數(shù)據(jù)庫:

CREATE DATABASE movieDB;

如果數(shù)據(jù)庫成功創(chuàng)建,您將收到這樣的輸出:

OutputQuery OK, 1 row affected (0.01 sec)

要選擇movieDB數(shù)據(jù)庫,運行以下USE語句:

USE movieDB;
OutputDatabase changed

選擇數(shù)據(jù)庫后,在其中創(chuàng)建一個表。在本教程的示例中,我們將創(chuàng)建一個表,用于存儲本地電影院的放映信息。這個表將以下7個字段:

  • theater_id:存儲每個劇院的展廳的int數(shù)據(jù)類型的值,并作為表的主鍵,這意味著這一列中的每個值都將作為其各自行的唯一標(biāo)識符。

  • date:使用DATE數(shù)據(jù)類型來存儲電影放映的年、月、日的特定日期。該數(shù)據(jù)類型遵循以下參數(shù):4位數(shù)字表示年份,最多2位數(shù)字表示月和日(YYYY-MM-DD)。

  • time:用TIME數(shù)據(jù)類型以小時、分鐘和秒(HH:MM:SS)表示電影的計劃放映。

  • movie_name:使用varchar數(shù)據(jù)類型存儲電影的名稱,最多40個字符。

  • movie_genre:使用不超過30個字符的varchar數(shù)據(jù)類型,保存每部電影各自類型的信息。

  • guest_total:顯示參加電影放映的總?cè)藬?shù),數(shù)據(jù)類型為int。

  • ticket_cost:使用decimal數(shù)據(jù)類型,精度為4,刻度為1,這意味著這一列的值可以有4位數(shù)字,小數(shù)點右側(cè)有2位數(shù)字。這一列表示特定電影放映的票價。

通過運行下面的CREATE TABLE命令,創(chuàng)建一個名為movie_theater的表,其中包含這些列:

CREATE TABLE movie_theater (
theater_id int, 
date DATE,
time TIME, 
movie_name varchar(40),
movie_genre varchar(30),
guest_total int,
ticket_cost decimal(4,2),
PRIMARY KEY (theater_id)
); 

接下來,向空表中插入一些示例數(shù)據(jù):

INSERT INTO movie_theater
(theater_id, date, time, movie_name, movie_genre, guest_total, ticket_cost)
VALUES
(1, '2022-05-27', '10:00:00', 'Top Gun Maverick', 'Action', 131, 18.00),
(2, '2022-05-27', '10:00:00', 'Downton Abbey A New Era', 'Drama', 90, 18.00),
(3, '2022-05-27', '10:00:00', 'Men', 'Horror', 100, 18.00),
(4, '2022-05-27', '10:00:00', 'The Bad Guys', 'Animation', 83, 18.00),
(5, '2022-05-28', '09:00:00', 'Top Gun Maverick', 'Action', 112, 8.00),
(6, '2022-05-28', '09:00:00', 'Downton Abbey A New Era', 'Drama', 137, 8.00),
(7, '2022-05-28', '09:00:00', 'Men', 'Horror', 25, 8.00),
(8, '2022-05-28', '09:00:00', 'The Bad Guys', 'Animation', 142, 8.00),
(9, '2022-05-28', '05:00:00', 'Top Gun Maverick', 'Action', 150, 13.00),
(10, '2022-05-28', '05:00:00', 'Downton Abbey A New Era', 'Drama', 118, 13.00),
(11, '2022-05-28', '05:00:00', 'Men', 'Horror', 88, 13.00),
(12, '2022-05-28', '05:00:00', 'The Bad Guys', 'Animation', 130, 13.00);
OutputQuery OK, 12 rows affected (0.00 sec)
Records: 12  Duplicates: 0  Warnings: 0

插入數(shù)據(jù)后,就可以開始在SQL中對查詢結(jié)果進行排序了。

如何使用GROUP BY

GROUP BY語句的功能是將具有共享值的記錄分組。在查詢中,GROUP BY語句總是與聚合函數(shù)一起使用。您可能還記得,一個聚合函數(shù)總結(jié)信息,并返回一個結(jié)果。例如,你可以查詢一列的總數(shù)或總和,這將在結(jié)果中產(chǎn)生一個值。使用GROUP BY子句,你可以實現(xiàn)聚合函數(shù),為每個你想要的組獲得一個結(jié)果值。

GROUP BY對于返回多個按指定組排序的期望結(jié)果很有用,而不是只按一列排序。此外,如果你選擇使用FROM語句和WHERE子句,GROUP BY必須始終位于它們之后。下面是一個使用GROUP BY和聚合函數(shù)的查詢結(jié)構(gòu)的示例:

SELECT column_1, AGGREGATE_FUNCTION(column_2) FROM table GROUP BY column_1;

為了說明如何使用GROUP BY語句,假設(shè)你正在領(lǐng)導(dǎo)幾部電影的發(fā)行活動,并且你想評估營銷工作的成功。你讓當(dāng)?shù)氐囊患覄≡悍窒硭麄冊谥芪搴椭芰鶑目腿四抢锸占臄?shù)據(jù)。首先通過運行SELECT*符號來查看數(shù)據(jù),以選擇movie_theater表中的所有列:

SELECT * FROM movie_theater;
Output+------------+------------+----------+-------------------------+-------------+-------------+-------------+
| theater_id | date       | time     | movie_name              | movie_genre | guest_total | ticket_cost |
+------------+------------+----------+-------------------------+-------------+-------------+-------------+
|          1 | 2022-05-27 | 10:00:00 | Top Gun Maverick        | Action      |         131 |       18.00 |
|          2 | 2022-05-27 | 10:00:00 | Downton Abbey A New Era | Drama       |          90 |       18.00 |
|          3 | 2022-05-27 | 10:00:00 | Men                     | Horror      |         100 |       18.00 |
|          4 | 2022-05-27 | 10:00:00 | The Bad Guys            | Animation   |          83 |       18.00 |
|          5 | 2022-05-28 | 09:00:00 | Top Gun Maverick        | Action      |         112 |        8.00 |
|          6 | 2022-05-28 | 09:00:00 | Downton Abbey A New Era | Drama       |         137 |        8.00 |
|          7 | 2022-05-28 | 09:00:00 | Men                     | Horror      |          25 |        8.00 |
|          8 | 2022-05-28 | 09:00:00 | The Bad Guys            | Animation   |         142 |        8.00 |
|          9 | 2022-05-28 | 05:00:00 | Top Gun Maverick        | Action      |         150 |       13.00 |
|         10 | 2022-05-28 | 05:00:00 | Downton Abbey A New Era | Drama       |         118 |       13.00 |
|         11 | 2022-05-28 | 05:00:00 | Men                     | Horror      |          88 |       13.00 |
|         12 | 2022-05-28 | 05:00:00 | The Bad Guys            | Animation   |         130 |       13.00 |
+------------+------------+----------+-------------------------+-------------+-------------+-------------+
12 rows in set (0.00 sec)

雖然這些數(shù)據(jù)很有用,但您希望對某些特定列進行更深入的評估并排序結(jié)果。

因為你工作在幾個不同類型的電影,你有興趣知道他們被電影觀眾好評。具體來說,你想知道觀看每種類型電影的平均人數(shù)。使用SELECTmovie_genre列中檢索各種類型的電影。然后對guest_total列應(yīng)用聚合函數(shù)AVG,使用ASaverage列創(chuàng)建一個別名,并包含GROUP BY語句以movie_genre對結(jié)果進行分組。按這種方式分組可以得到每種電影類型的平均結(jié)果:

SELECT movie_genre, AVG(guest_total) AS average
FROM movie_theater 
GROUP BY movie_genre;
Output+-------------+----------+
| movie_genre | average  |
+-------------+----------+
| Action      | 131.0000 |
| Drama       | 115.0000 |
| Horror      |  71.0000 |
| Animation   | 118.3333 |
+-------------+----------+
4 rows in set (0.00 sec)

這個輸出提供了movie_genre組中每種電影類型的四個平均值。根據(jù)這些信息,Action的平均每場觀眾人數(shù)最多。

接下來,假設(shè)你想要測量影院在兩天內(nèi)的收入。下面的查詢從date列返回值,以及由SUM聚合函數(shù)返回的值。具體來說,聚合函數(shù)SUM將一個數(shù)學(xué)方程放在括號中,使用*操作符將總客人數(shù)量乘以一張票的成本,表示為:SUM(guest_total * ticket_cost)。該查詢包含AS子句,為聚合函數(shù)返回的列提供別名total_revenue。然后使用GROUP BY語句完成查詢,根據(jù)date列對查詢結(jié)果進行分組:

SELECT date, SUM(guest_total * ticket_cost) 
AS total_revenue 
FROM movie_theater 
GROUP BY date;
Output+------------+---------------+
| date       | total_revenue |
+------------+---------------+
| 2022-05-27 |       7272.00 |
| 2022-05-28 |       9646.00 |
+------------+---------------+
2 rows in set (0.00 sec)

因為你使用了GROUP BYdate列進行分組,所以輸出的結(jié)果是每天的總票房收入,在本例中是5月27日星期五7,272元,5月28日星期六9,646元。

現(xiàn)在假設(shè)你想關(guān)注并分析一部電影:《壞家伙》。在這種情況下,你想弄清楚時間和價格點如何影響一個家庭觀看動畫電影的選擇。對于這個查詢,使用聚合函數(shù)MAX來獲取最大的ticket_cost,確保包含AS來為price_data列創(chuàng)建別名。然后,使用WHERE子句將結(jié)果通過movie_name縮小到只有“the Bad Guys”,并使用and使用比較操作符?>來根據(jù)guest_total數(shù)字大于100來確定最受歡迎的電影次數(shù)。然后用GROUP BY語句完成查詢,并按time分組:

SELECT time, MAX(ticket_cost) AS price_data 
FROM movie_theater
WHERE movie_name = "The Bad Guys" 
AND guest_total > 100
GROUP BY time;
Output+----------+------------+
| time     | price_data |
+----------+------------+
| 09:00:00 |       8.00 |
| 05:00:00 |      13.00 |
+----------+------------+
2 rows in set (0.00 sec)

根據(jù)這個輸出,更多的客人在上午9點的早場時間去看《The Bad Guys》,這是一個更實惠的價格點,每張票8美元。然而,這些結(jié)果也顯示,看電影的客人在下午5點時支付了更高的票價,為13美元,這表明家庭更喜歡在當(dāng)天不會太晚的時間看電影,并且會為電影票支付更多的錢。與晚上10點的《The Bad Guys》相比,這似乎是一個公平的評價,當(dāng)時只有83名觀眾,每張票的價格是18美元。這可以為電影院經(jīng)理提供有用的信息,證明開放更多的日場和傍晚場次可以增加家庭的上座率,這些家庭正在根據(jù)首選的時間和價格點進行選擇。

請注意,盡管GROUP BY幾乎總是與聚合函數(shù)一起使用,但也可能有例外,盡管不太可能。然而,如果你想在沒有聚合函數(shù)的情況下對結(jié)果進行分組,你可以使用DISTINCT語句來獲得相同的結(jié)果。DISTINCT子句通過返回列中的唯一值來刪除結(jié)果集中的重復(fù)項,并且它只能與SELECT語句一起使用。例如,如果你想將所有電影按名字分組,可以使用以下查詢:

SELECT DISTINCT movie_name FROM movie_theater;
Output+-------------------------+
| movie_name              |
+-------------------------+
| Top Gun Maverick        |
| Downton Abbey A New Era |
| Men                     |
| The Bad Guys            |
+-------------------------+
4 rows in set (0.00 sec)

在查看表中的所有數(shù)據(jù)時,你會發(fā)現(xiàn)電影名稱有重復(fù),因為有多個放映場次。因此,DISTINCT刪除了這些重復(fù)項,并有效地將唯一的值分組在單列movie_name下。這實際上與下面的查詢相同,其中包含一個GROUP BY語句:

SELECT movie_name FROM movie_theater GROUP BY movie_name;

現(xiàn)在你已經(jīng)練習(xí)了在聚合函數(shù)中使用GROUP BY,接下來你將學(xué)習(xí)如何使用ORDER BY語句對查詢結(jié)果進行排序。

如何使用ORDER BY

ORDER BY語句的功能是根據(jù)你在查詢中指定的列對結(jié)果進行升序或降序排序。根據(jù)后面指定的列存儲的數(shù)據(jù)類型,ORDER by 將按字母或數(shù)字順序組織它們。默認情況下,ORDER By 將按升序?qū)Y(jié)果進行排序;但是,如果你喜歡降序排列,你必須在查詢中包含關(guān)鍵字DESC。你也可以將ORDER BY語句和GROUP BY一起使用,但它必須放在后面才能正常工作。與GROUP BY類似,ORDER BY也必須位于FROM語句和WHERE子句之后。ORDER BY的通用語法如下:

SELECT column_1, column_2 FROM table ORDER BY column_1;

讓我們繼續(xù)使用電影院的示例數(shù)據(jù),并練習(xí)使用ORDER BY對結(jié)果進行排序。從下面的查詢開始,它從guest_total列中檢索值,并用ORDER BY語句組織這些數(shù)值:

SELECT guest_total FROM movie_theater 
ORDER BY guest_total;
Output+-------------+
| guest_total |
+-------------+
|          25 |
|          83 |
|          88 |
|          90 |
|         100 |
|         112 |
|         118 |
|         130 |
|         131 |
|         137 |
|         142 |
|         150 |
+-------------+
12 rows in set (0.00 sec)

因為你的查詢指定了一個數(shù)值列,所以ORDER BY語句按照數(shù)值和升序排列結(jié)果,從guest_total列的25開始。

如果你想按降序?qū)α羞M行排序,可以在查詢語句的末尾添加DESC關(guān)鍵字。此外,如果你想根據(jù)movie_name下的字符值對數(shù)據(jù)進行排序,可以在查詢中指定。讓我們使用ORDER BY來執(zhí)行這種類型的查詢,以將movie_name列的字符值降序排列。通過包含一個WHERE子句來從time列中檢索在10:00 pm放映的電影數(shù)據(jù),從而進一步排序結(jié)果:

SELECT movie_name FROM movie_theater
WHERE time = '10:00:00' 
ORDER BY movie_name DESC;
Output+-------------------------+
| movie_name              |
+-------------------------+
| Top Gun Maverick        |
| The Bad Guys            |
| Men                     |
| Downton Abbey A New Era |
+-------------------------+
4 rows in set (0.01 sec)

這個結(jié)果集列出了晚上10點放映的四部不同的電影,按字母順序降序排列,從《Top Gun Maverick》到《Downtown Abbey A New Era》。

對于下一個查詢,將ORDER BYGROUP BY語句與聚合函數(shù)SUM結(jié)合起來,生成每部電影的總收益。但是,假設(shè)電影院錯算了總?cè)藬?shù),并且忘了包括那些預(yù)先購買并預(yù)定了每場12人的電影票的特殊派對。

在這個查詢中使用SUM,通過實現(xiàn)運算符+,然后將12加到guest_total中,來包含每次電影放映的額外12位客人。一定要附上這個括號。然后,用運算符“*”乘以ticket_cost,并通過最后的圓括號完成數(shù)學(xué)方程。添加AS子句為名為total_revenue的新列創(chuàng)建別名。然后,使用GROUP BY來根據(jù)從movie_name列檢索到的數(shù)據(jù)對每部電影的total_revenue結(jié)果進行分組。最后,使用ORDER BY將新列total_revenue下的結(jié)果以升序排列:

SELECT movie_name, SUM((guest_total + 12) * ticket_cost) 
AS total_revenue
FROM movie_theater 
GROUP BY movie_name 
ORDER BY total_revenue;
Output+-------------------------+---------------+
| movie_name              | total_revenue |
+-------------------------+---------------+
| Men                     |       3612.00 |
| Downton Abbey A New Era |       4718.00 |
| The Bad Guys            |       4788.00 |
| Top Gun Maverick        |       5672.00 |
+-------------------------+---------------+
4 rows in set (0.00 sec)

這個結(jié)果集告訴我們每部電影加上額外的12位觀眾的總票房收入,并將總票房收入從低到高排序。由此我們得知,《Top Gun Maverick》的票房收入最高,而《Men》的票房收入最低。與此同時,《The Bad Guys》和《Downton Abbey A New Era》在總票房上非常接近。

在本節(jié)中,你實踐了多種實現(xiàn)ORDER BY語句的方法,以及如何指定你喜歡的順序,例如字符型和數(shù)值型數(shù)據(jù)的升序和降序。你還學(xué)習(xí)了如何包含WHERE子句以縮小結(jié)果范圍,并使用聚合函數(shù)和數(shù)學(xué)方程使用GROUP BYORDER BY語句執(zhí)行查詢。

總結(jié)

理解如何使用GROUP BYORDER BY語句對于對結(jié)果和數(shù)據(jù)進行排序是很重要的。你是想在一個組下組織多個結(jié)果,還是按字母和降序組織其中一列,還是同時進行這兩種操作。你還了解了使用WHERE子句進一步排序結(jié)果的其他方法。文章來源地址http://www.zghlxwxcb.cn/news/detail-704042.html

到了這里,關(guān)于如何使用SQL系列 之 如何在SQL中使用GROUP BY和ORDER BY的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • SQL優(yōu)化(3):order by優(yōu)化

    SQL優(yōu)化(3):order by優(yōu)化

    MySQL的排序,有兩種方式: Using filesort : 通過表的索引或全表掃描,讀取滿足條件的數(shù)據(jù)行,然后在排序緩沖區(qū)sort buffer中完成排序操作,所有不是通過索引直接返回排序結(jié)果的排序都叫 FileSort 排序。 Using index : 通過有序索引順序掃描直接返回有序數(shù)據(jù),這種情況即為 using

    2024年02月01日
    瀏覽(24)
  • SQL ORDER BY 關(guān)鍵字

    SQL ORDER BY 關(guān)鍵字

    ORDER BY 用于對結(jié)果集進行排序。 ORDER BY 用于對結(jié)果集按照一個列或者多個列進行排序。 ORDER BY 默認按照升序?qū)τ涗涍M行排序。如果需要按照降序?qū)τ涗涍M行排序,您可以使用 DESC 。 ORDER BY 子句后面的列名指示按哪些列進行排序。如果您指定多個列

    2024年02月16日
    瀏覽(21)
  • [SQL挖掘機] - ORDER BY語句

    當(dāng)您想對查詢結(jié)果進行排序時,可以使用 ORDER BY 子句。ORDER BY 子句允許您按照一個或多個列的值對結(jié)果進行排序。 在上述語法中,我們首先指定要選擇的列,并在 order by 子句中指定要排序的列。可以同時指定多個列,它們將按照指定的順序逐個排序。 其中, asc 表示升序排序

    2024年02月15日
    瀏覽(22)
  • sql的order by 按照自定義的順序排列

    SQL 的 ORDER BY 子句可以按照自定義的順序進行排列。 可以使用 CASE 表達式來指定自定義的排序順序。以下是一個示例: 假設(shè)我們有一個表格 students 包含字段 name 和 grade ,我們想按照自定義的順序?qū)?name 字段進行排序,可以這樣寫: 使用了 CASE 表達式來為每個名字指定一個數(shù)

    2024年02月20日
    瀏覽(23)
  • MySQL 數(shù)據(jù)庫查詢與數(shù)據(jù)操作:使用 ORDER BY 排序和 DELETE 刪除記錄

    使用 ORDER BY 語句按升序或降序?qū)Y(jié)果進行排序。 ORDER BY 默認按升序排序。要按降序排序結(jié)果,使用 DESC 。 示例按名稱按字母順序排序結(jié)果: ORDER BY DESC 使用 DESC 以降序排序結(jié)果。 示例按名稱以字母逆序排序結(jié)果: 您可以使用\\\"DELETE FROM\\\"語句從現(xiàn)有表格中

    2024年02月05日
    瀏覽(39)
  • [SQL挖掘機] - GROUP BY語句

    group by 是 sql 中用于對結(jié)果集進行分組的。通過使用 group by,可以根據(jù)一個或多個列的值將結(jié)果集中的行分組,并對每個分組應(yīng)用某種聚合函數(shù)(如 count、sum、avg 等)以生成匯總信息。這樣可以方便地對數(shù)據(jù)進行分類、統(tǒng)計和分析。 group by 語句通常與 select 語句結(jié)合使

    2024年02月15日
    瀏覽(27)
  • 6、hive的select(GROUP BY、ORDER BY、CLUSTER BY、SORT BY、LIMIT、union、CTE)、join使用詳解及示例

    6、hive的select(GROUP BY、ORDER BY、CLUSTER BY、SORT BY、LIMIT、union、CTE)、join使用詳解及示例

    1、apache-hive-3.1.2簡介及部署(三種部署方式-內(nèi)嵌模式、本地模式和遠程模式)及驗證詳解 2、hive相關(guān)概念詳解–架構(gòu)、讀寫文件機制、數(shù)據(jù)存儲 3、hive的使用示例詳解-建表、數(shù)據(jù)類型詳解、內(nèi)部外部表、分區(qū)表、分桶表 4、hive的使用示例詳解-事務(wù)表、視圖、物化視圖、DDL

    2024年02月11日
    瀏覽(26)
  • mysql GROUP BY 怎么 order by 排序

    在 MySQL 中使用 GROUP BY 子句時,如果需要對結(jié)果進行排序,可以使用 ORDER BY 子句來對分組后的結(jié)果進行排序。 ORDER BY 子句應(yīng)該放在 GROUP BY 子句之后,使用逗號來分隔需要排序的列,并在排序列后指定排序順序。例如: 在這個例子中,SELECT 語句選擇了表 table1 中的列 column1 和

    2024年02月16日
    瀏覽(16)
  • SQL group by、where和having語句用法

    SQL 語句中的 GROUP BY 子句用于將具有相同值的行分組在一起,通常與聚合函數(shù)(如 COUNT、SUM、AVG 等)一起使用。WHERE 子句用于篩選符合條件的行。HAVING 子句則在分組后對分組結(jié)果進行進一步篩選。 以下是一個使用 SQL 語句中的 GROUP BY、WHERE 和 HAVING 子句的示例: 在這個示例中

    2024年02月07日
    瀏覽(59)
  • SQL 報錯 sql_mode=only_full_group_by 問題

    SQL 報錯 sql_mode=only_full_group_by 問題

    SQL 報錯 sql_mode=only_full_group_by 問題 原因分析 一、原理層面 這個錯誤發(fā)生在mysql 5.7.5 版本及以上版本會出現(xiàn)的問題: mysql 5.7.5版本以上默認的sql配置是:sql_mode=“ONLY_FULL_GROUP_BY”,這個配置嚴格執(zhí)行了\\\"SQL92標(biāo)準(zhǔn)\\\"。 很多從5.6升級到5.7時,為了語法兼容,大部分都會選擇調(diào)整sql

    2024年02月15日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包