亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

mysql實現(xiàn)合并結(jié)果集并去除重復(fù)值

 更新時間:2022年12月21日 09:07:58   作者:shon wu  
這篇文章主要介紹了mysql實現(xiàn)合并結(jié)果集并去除重復(fù)值方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

mysql 合并結(jié)果集并去除重復(fù)值

SELECT DISTINCT c.parent_id from (? ? ?SELECT parent_id? FROM tp_goods_category a join tp_goods g on a.id = g.cat_id GROUP BY parent_id UNION ALL? SELECT cat_id FROM tp_goods GROUP BY cat_id ) c;

先去除每個結(jié)果集中的重復(fù)值 以 group by 方式除去

SELECT parent_id? FROM tp_goods_category a join tp_goods g on a.id = g.cat_id GROUP BY parent_id?

SELECT cat_id FROM tp_goods GROUP BY cat_id?

然后合并兩個結(jié)果集 生成一個新的結(jié)果集 (或者可以成為新表)  在 使用DISTINCT  去除合并結(jié)果集中的重復(fù)值  注意  必須給  新結(jié)果集取一個別名  比如例子中的  c

新的查詢結(jié)果

此語句為了刪除分類表中   在goods表中不存在的  分類id  且 級別為第二級別  

mysql 合并結(jié)果集(union,union all)

我需要在一個sql的執(zhí)行結(jié)果中,顯示兩個或兩個以上的where條件的結(jié)果(select 列的結(jié)構(gòu)相同)。

考慮使用union,或union all 。

union 與 union all 執(zhí)行結(jié)果不同

UNION 刪除重復(fù)的記錄再返回結(jié)果,即對整個結(jié)果集合使用了DISTINCT。結(jié)果中無重復(fù)數(shù)據(jù)。

UNION ALL 將各個結(jié)果合并后就返回,不刪除重復(fù)記錄。如果結(jié)果中有重復(fù)數(shù)據(jù),則包含重復(fù)數(shù)據(jù)。

例如,

mysql> SELECT * FROM world.city where ID=2020 UNION SELECT * FROM world.city where ID=2020;
+------+-------+-------------+--------------+------------+
| ID ? | Name ?| CountryCode | District ? ? | Population |
+------+-------+-------------+--------------+------------+
| 2020 | Tieli | CHN ? ? ? ? | Heilongjiang | ? ? 265683 |
+------+-------+-------------+--------------+------------+
1 row in set (0.00 sec)

mysql> SELECT * FROM world.city where ID=2020 UNION ALL SELECT * FROM world.city where ID=2020;
+------+-------+-------------+--------------+------------+
| ID ? | Name ?| CountryCode | District ? ? | Population |
+------+-------+-------------+--------------+------------+
| 2020 | Tieli | CHN ? ? ? ? | Heilongjiang | ? ? 265683 |
| 2020 | Tieli | CHN ? ? ? ? | Heilongjiang | ? ? 265683 |
+------+-------+-------------+--------------+------------+
2 rows in set (0.00 sec)

對UNION,UNION ALL的結(jié)果繼續(xù)處理,需要加括號

比如要對合并后的結(jié)果集進(jìn)行ORDER BY,LIMIT等操作需要對合并對象單個的SELECT語句加上括號。

并且把整體結(jié)果的條件ORDER BY,LIMIT等放到最后一個SELECT的括號后面。

例如,

(SELECT * FROM world.city
WHERE CountryCode = 'JPN' AND Name LIKE 'nishi%')?
UNION ALL?
(SELECT * FROM world.city
WHERE CountryCode = 'CHN' AND Population >= 5000000)?
LIMIT 5;

mysql中,UNION,UNION ALL的性能/效率不同

從效率上說,UNION ALL 要比UNION快很多。

所以,如果可以確認(rèn)合并的結(jié)果集中不包含重復(fù)的數(shù)據(jù)的話,或者需要的結(jié)果中即使包含重復(fù)也無所謂,那么就使用UNION ALL。

UNION

  • UNION在進(jìn)行表鏈接后會篩選掉重復(fù)的記錄,所以在表鏈接后會對所產(chǎn)生的結(jié)果集進(jìn)行排序運(yùn)算。
  • UNION在運(yùn)行時先取出各個表/各個select的結(jié)果,再用排序空間進(jìn)行排序刪除重復(fù)的記錄,最后返回結(jié)果集,如果表數(shù)據(jù)量大的話可能會導(dǎo)致用磁盤進(jìn)行排序。

UNION ALL

  • UNION ALL只是簡單的將結(jié)果合并后就返回。不涉及排序運(yùn)算。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MySQL連接時出現(xiàn)2003錯誤的實現(xiàn)

    MySQL連接時出現(xiàn)2003錯誤的實現(xiàn)

    本文主要介紹了MySQL連接時出現(xiàn)2003錯誤的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Mysql 安裝失敗的快速解決方法

    Mysql 安裝失敗的快速解決方法

    這篇文章給大家介紹了mysql 安裝失敗的快速解決方法包括windows下mysql安裝失敗的一個解決案例,本文給大家介紹的非常詳細(xì),具有參考借鑒價值,感興趣的朋友一起看下吧
    2016-10-10
  • 安裝MySQL 5后無法啟動(不能Start service)解決方法小結(jié)

    安裝MySQL 5后無法啟動(不能Start service)解決方法小結(jié)

    有時候我們在安裝mysql軟件時,卻無法啟動,或服務(wù)器安全設(shè)置以后都可能導(dǎo)致mysql無法運(yùn)行
    2012-07-07
  • 連接MySql速度慢的解決方法(skip-name-resolve)

    連接MySql速度慢的解決方法(skip-name-resolve)

    這篇文章主要介紹了連接MySql速度慢的解決方法(skip-name-resolve),需要的朋友可以參考下
    2015-09-09
  • MySQL表LEFT JOIN左連接與RIGHT JOIN右連接的實例教程

    MySQL表LEFT JOIN左連接與RIGHT JOIN右連接的實例教程

    這篇文章主要介紹了MySQL表LEFT JOIN左連接與RIGHT JOIN右連接的實例教程,表連接操作是MySQL入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-12-12
  • 解決Navicat for MySQL 連接 MySQL 報2005錯誤的問題

    解決Navicat for MySQL 連接 MySQL 報2005錯誤的問題

    在本地MySQL的服務(wù)啟動后,由于Navicat的一些功能需要聯(lián)網(wǎng)才可以使用,今天重點(diǎn)給大家介紹Navicat for MySQL 連接 MySQL 報2005 -Unknown MySQL server host ‘localhost’(0)錯誤的情況與解決方法,感興趣的朋友一起看看吧
    2021-05-05
  • 利用explain排查分析慢sql的實戰(zhàn)案例

    利用explain排查分析慢sql的實戰(zhàn)案例

    在日常工作中,我們會有時會開慢查詢?nèi)ビ涗浺恍﹫?zhí)行時間比較久的SQL語句,下面這篇文章主要給大家介紹了關(guān)于利用explan排查分析慢sql的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • MySQL 5.7常見數(shù)據(jù)類型

    MySQL 5.7常見數(shù)據(jù)類型

    這篇文章主要介紹了MySQL 5.7數(shù)據(jù)類型詳解,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-07-07
  • RHEL6.5編譯安裝MySQL5.6.26教程

    RHEL6.5編譯安裝MySQL5.6.26教程

    這篇文章主要介紹了RHEL6.5編譯安裝MySQL5.6.26教程的相關(guān)資料,需要的朋友可以參考下
    2015-10-10
  • MySQL之存儲過程按月創(chuàng)建表的方法步驟

    MySQL之存儲過程按月創(chuàng)建表的方法步驟

    這篇文章主要介紹了MySQL之存儲過程按月創(chuàng)建表的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09

最新評論