欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL查詢in操作 查詢結(jié)果按in集合順序顯示

 更新時(shí)間:2010年12月17日 09:43:07   作者:  
MySQL 查詢in操作,查詢結(jié)果按in集合順序顯示的實(shí)現(xiàn)代碼,需要的朋友可以參考下。
MySQL 查詢in操作,查詢結(jié)果按in集合順序顯示
復(fù)制代碼 代碼如下:

select * from test where id in(3,1,5) order by find_in_set(id,'3,1,5');
select * from test where id in(3,1,5) order by substring_index('3,1,2',id,1);


偶爾看到的。。?;蛟S有人會(huì)注意過,但我以前真不知道
SQL: select * from table where id IN (3,6,9,1,2,5,8,7);

這樣的情況取出來后,其實(shí),id還是按1,2,3,4,5,6,7,8,9,排序的,但如果我們真要按IN里面的順序排序怎么辦?SQL能不能完成?是否需要取回來后再foreach一下?其實(shí)mysql就有這個(gè)方法

sql: select * from table where id IN (3,6,9,1,2,5,8,7) order by field(id,3,6,9,1,2,5,8,7);

出來的順序就是指定的順序了。。。。這個(gè),以前還真的從來沒用過,偶爾看到,所以就記錄了一下。一是做個(gè)筆記,二是希望可以給更多的人看到

MySQL中NOT IN語(yǔ)句對(duì)NULL值的處理

mysql> SELECT COUNT(name) FROM CVE WHERE name NOT IN ('CVE-1999-0001', 'CVE-1999-0002');
+-------------+
| count(name) |
+-------------+
| 17629 |
+-------------+
1 row in set (0.02 sec)
mysql> SELECT COUNT(name) FROM CVE WHERE name NOT IN ('CVE-1999-0001', 'CVE-1999-0002', NULL);
+-------------+
| count(name) |
+-------------+
| 0 |
+-------------+
1 row in set (0.01 sec)
當(dāng)在子查詢中出現(xiàn)NULL的時(shí)候,結(jié)果就一定是0了。查了一下手冊(cè),確實(shí)有這樣的說法。所以最后實(shí)際采用了這樣的查詢:
SELECT COUNT(DISTINCT name)
FROM CVE
WHERE name NOT IN (SELECT cveID FROM cve_sig WHERE cveID IS NOT NULL)
順便提一下MySQL中正則表達(dá)式匹配的簡(jiǎn)單使用:
SELECT COUNT(alarmID)
FROM Alarm
WHERE (CVE NOT RLIKE '^CVE-[0-9]{4}-[0-9]{4}$' OR CVE IS NULL)
當(dāng)然,RLIKE也可以寫作REGEXP,我個(gè)人傾向于使用RLIKE,因?yàn)槠磳懡咏麹IKE,可以見名知義。

mysql - not in
table:info primary key(id, info_type_id)
id, info_type_id, programme_id, episode_id
3, 4, 382, 100034
3, 8, 382, 100034
4, 8, 382, 100034
6, 8, 382, 100034
7, 8, 382, 100034
8, 8, 382, 100034
9, 8, 382, 100034
10, 8, 382, 100034
11, 8, 382, 100034
12, 8, 382, 100034
13, 8, 382, 100034
100001, 4, 382, 100034
100002, 4, 382, 100034

排除(id=3 && info_type_id=8) and (id=4 && info_type_id=8)這兩條記錄,即找出其它記錄
error: select * from info where episode_id=100034 and id not in(3,4) and info_type_id not in (8);
error result:
id, info_type_id, programme_id, episode_id
100001, 4, 382, 100034
100002, 4, 382, 100034
correct: select * from info where episode_id=100034 and (id<>3 or info_type_id<>8) and (id<>4 or info_type_id<>8);
correct result:
id, info_type_id, programme_id, episode_id
3, 4, 382, 100034
6, 8, 382, 100034
7, 8, 382, 100034
8, 8, 382, 100034
9, 8, 382, 100034
10, 8, 382, 100034
11, 8, 382, 100034
12, 8, 382, 100034
13, 8, 382, 100034
100001, 4, 382, 100034
100002, 4, 382, 100034
理解:id<>3 or info_type_id<>8排除掉id=3 && info_type_id=8這條記錄,當(dāng)表中主鍵多于一個(gè)時(shí),不能簡(jiǎn)單地使用key1 NOT IN (……) AND key2 NOT IN (……) ..

相關(guān)文章

  • mysql報(bào)錯(cuò)RSA?private?key?file?not?found的解決方法

    mysql報(bào)錯(cuò)RSA?private?key?file?not?found的解決方法

    當(dāng)MySQL報(bào)錯(cuò)RSA?private?key?file?not?found時(shí),可能是由于MySQL的RSA私鑰文件丟失或者損壞導(dǎo)致的,此時(shí)可以重新生成RSA私鑰文件,以解決這個(gè)問題
    2023-06-06
  • MySQL細(xì)數(shù)發(fā)生索引失效的情況

    MySQL細(xì)數(shù)發(fā)生索引失效的情況

    本文主要介紹了MySQL導(dǎo)致索引失效的幾種情況,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • mysql之group by和having用法詳解

    mysql之group by和having用法詳解

    這篇文章主要介紹了mysql之group by和having用法詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Mysql(MyISAM)的讀寫互斥鎖問題的解決方法

    Mysql(MyISAM)的讀寫互斥鎖問題的解決方法

    最近因?yàn)閿?shù)據(jù)庫(kù)讀的請(qǐng)求增加,出現(xiàn)了比較嚴(yán)重的讀寫鎖問題,由于主從分離,主服務(wù)器很快的執(zhí)行完了寫入的操作,但從庫(kù)由于有大量的select的查詢,會(huì)被這些來自主輔同步的update,insert嚴(yán)重堵塞,最后造成所有的Mysql從庫(kù)負(fù)載迅速上升。
    2011-09-09
  • 關(guān)于數(shù)據(jù)庫(kù)連接池Druid使用說明

    關(guān)于數(shù)據(jù)庫(kù)連接池Druid使用說明

    這篇文章主要介紹了關(guān)于數(shù)據(jù)庫(kù)連接池Druid使用說明,涉及Druid 參數(shù)和運(yùn)行原理等等相關(guān)內(nèi)容,小編覺得挺不錯(cuò)的,在這里給大家分享一下。
    2017-10-10
  • MySQL系列之二 多實(shí)例配置

    MySQL系列之二 多實(shí)例配置

    MySQL多實(shí)例就是在一臺(tái)服務(wù)器上同時(shí)開啟多個(gè)不同的服務(wù)端口,本文就介紹一下MySQL多實(shí)例配置,感興趣的可以了解一下
    2021-07-07
  • MySQL中(JOIN/ORDER BY)語(yǔ)句的查詢過程及優(yōu)化方法

    MySQL中(JOIN/ORDER BY)語(yǔ)句的查詢過程及優(yōu)化方法

    sql語(yǔ)句性能達(dá)不到你的要求,執(zhí)行效率讓你忍無可忍,一般會(huì)造成很多影響。那么我們?nèi)绾谓鉀Q這些問題呢,下面由小編來和大家簡(jiǎn)單講下
    2019-05-05
  • Linux下安裝MySQL8.0.11的教程

    Linux下安裝MySQL8.0.11的教程

    這篇文章主要介紹了Linux下安裝MySQL8.0.11的教程,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • MySql事務(wù)及ACID實(shí)現(xiàn)原理詳解

    MySql事務(wù)及ACID實(shí)現(xiàn)原理詳解

    這篇文章主要為大家介紹了MySql事務(wù)及ACID實(shí)現(xiàn)原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • 詳解MySQL 慢查詢

    詳解MySQL 慢查詢

    這篇文章主要介紹了MySQL 慢查詢的相關(guān)資料,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí)MySQL,感興趣的朋友可以了解下
    2020-07-07

最新評(píng)論