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

MySQL同時(shí)In倆個(gè)字段,In多個(gè)字段,Mybatis多個(gè)In查詢問題,Mysql多個(gè)IN查詢多出數(shù)據(jù)問題,Mysql多個(gè)IN查詢 數(shù)據(jù)準(zhǔn)確問題

這篇具有很好參考價(jià)值的文章主要介紹了MySQL同時(shí)In倆個(gè)字段,In多個(gè)字段,Mybatis多個(gè)In查詢問題,Mysql多個(gè)IN查詢多出數(shù)據(jù)問題,Mysql多個(gè)IN查詢 數(shù)據(jù)準(zhǔn)確問題。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

背景:? ? ? ??

????????今天產(chǎn)品驗(yàn)收的時(shí)候,導(dǎo)入了大量數(shù)據(jù);發(fā)現(xiàn)造價(jià)項(xiàng)目某個(gè)查詢列表數(shù)據(jù)多出了幾條數(shù)據(jù);看了Mybatis查詢,才發(fā)現(xiàn)是同時(shí)使用了多個(gè)IN查詢導(dǎo)致的問題;入?yún)⑹菍ο罅斜恚琁n值是分開循環(huán)賦值的,問題就出在這里。

????????需要根據(jù)兩個(gè)字段去查詢多個(gè)值,這兩個(gè)字段值不同的數(shù)據(jù),以前一直以為In查詢只能查詢一個(gè)字段的多個(gè)值。今天百度發(fā)現(xiàn)了一種寫法,可以同時(shí)In查詢多個(gè)字段的不同值。

解決辦法:

SELECT * FROM more_in 
WHERE (lmm_id, item_id, `name`) IN ((1,2, '工料機(jī)1'),(2,2, '工料機(jī)2'),(3,3, ''));

腳本實(shí)例:


-- ----------------------------
-- Table structure for more_in
-- ----------------------------
DROP TABLE IF EXISTS `more_in`;
CREATE TABLE `more_in`  (
  `id` int NOT NULL AUTO_INCREMENT,
  `lmm_id` int NULL DEFAULT NULL,
  `item_id` int NULL DEFAULT NULL,
  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `detail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of more_in
-- ----------------------------
INSERT INTO `more_in` VALUES (1, 1, 2, '工料機(jī)1', NULL);
INSERT INTO `more_in` VALUES (2, 2, 2, '工料機(jī)2', NULL);
INSERT INTO `more_in` VALUES (3, 3, 3, '工料機(jī)3', NULL);
INSERT INTO `more_in` VALUES (4, 4, 3, '工料機(jī)4', NULL);
INSERT INTO `more_in` VALUES (5, 5, 1, '工料機(jī)5', NULL);
INSERT INTO `more_in` VALUES (6, 2, 3, '工料機(jī)6', NULL);

查詢需要的入?yún)⒘斜頂?shù)據(jù),如下:

-- lmm_id,? item_id

-- 1,2
-- 2,2
-- 3,3

錯(cuò)誤寫法:

通過如下語句查詢,會多出ID為6的數(shù)據(jù):
SELECT * FROM more_in a
WHERE a.lmm_id IN (1,2,3) AND a.item_id IN (2,2,3);

in 兩個(gè)字段,Mysql,數(shù)據(jù)庫,mysql,java

正確寫法:

IN同時(shí)可以In多個(gè)字段,In的左側(cè)兩個(gè)字段,右側(cè)必須倆字段,左右兩側(cè)能對應(yīng)上:

SELECT * FROM more_in WHERE (lmm_id, item_id) IN ((1,2),(2,2),(3,3));

in 兩個(gè)字段,Mysql,數(shù)據(jù)庫,mysql,java

MyBatis XML 寫法:

//mapper接口定義
List<Map<String, Object>> getResult(@Param("list") List<Map<String, String>> list);
<select id="getResult" resultType="java.util.HashMap">
	select * from demo t where (t.id, t.name) in
	<foreach collection="list" item="item" open="(" close=")" separator=",">
		(#{item.id},#{item.name})
	</foreach>
</select>

其他:

/**
  * 獲取相同item_code相關(guān)相同工機(jī)下含量不一致的item_code列表
  * @return
  **/
List<TbProjectItemDTO> getDiscrepancyList(@Param("data") TbProjectDTO dto);

<select id="getDiscrepancyList" resultType="org.dto.TbProjectItemDTO">
        SELECT
            tl.lmm_id, cq.item_code
        FROM `tb_project_lmm` AS tl
            LEFT JOIN `tb_project` AS cq ON cq.project_id= tl.project_id
                AND cq.state_deleted = 0
        WHERE
            tl.state_deleted = 0
        <if test="data.projectId != '' and data.projectId != null">
            AND tl.`project_id` = #{data.projectId}
        </if>
        GROUP BY cq.`item_code`, tl.lmm_id HAVING COUNT(DISTINCT IF(tl.`quantity` IS NULL,0,tl.`quantity`)) &gt; 1
</select>

如果本篇文章對你有幫助的話,很高興能夠幫助上你。

當(dāng)然,如果你覺得文章有什么讓你覺得不合理、或者有更簡單的實(shí)現(xiàn)方法又或者有理解不來的地方,希望你在看到之后能夠在評論里指出來,我會在看到之后盡快的回復(fù)你。文章來源地址http://www.zghlxwxcb.cn/news/detail-641056.html

到了這里,關(guān)于MySQL同時(shí)In倆個(gè)字段,In多個(gè)字段,Mybatis多個(gè)In查詢問題,Mysql多個(gè)IN查詢多出數(shù)據(jù)問題,Mysql多個(gè)IN查詢 數(shù)據(jù)準(zhǔn)確問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Unknown column ‘字段名‘ in ‘field list‘ 錯(cuò)誤解決辦法——mybatis常見問題匯總

    Unknown column ‘字段名‘ in ‘field list‘ 錯(cuò)誤解決辦法——mybatis常見問題匯總

    使用mybatis時(shí)我們經(jīng)常會碰到如下錯(cuò)誤 出現(xiàn)這種情況可能是 1、sql中的字段和數(shù)據(jù)庫的字段對不上,或者是sql中的字段和實(shí)體類的字段對不上,需要檢查數(shù)據(jù)庫字段和實(shí)體類字段 2、可能是#{isDel} 中的 #{} 忘了寫了。 總之,多檢查幾遍

    2024年02月10日
    瀏覽(20)
  • mysql對以逗號分隔的字段內(nèi)容進(jìn)行查詢——find_in_set函數(shù)或locate函數(shù)

    mysql對以逗號分隔的字段內(nèi)容進(jìn)行查詢——find_in_set函數(shù)或locate函數(shù)

    使用mysql時(shí),有可能一個(gè)字段代表一個(gè)集合,如果將這個(gè)集合單獨(dú)抽成一張表又不值當(dāng)?shù)模@個(gè)時(shí)候我們存儲時(shí),可以選擇用逗號將數(shù)據(jù)分隔開(只能用英文的逗號),如圖所示: 做查詢時(shí)怎么查呢? 假如說給一個(gè)數(shù)據(jù)作為查詢條件,判斷該字段是否存在,應(yīng)該怎么查呢?

    2024年02月09日
    瀏覽(27)
  • Mysql 字段模糊查詢,在頁面中輸入%查詢?nèi)康膯栴}處理

    一、背景 ??測試小妹閑著無聊,針對某一個(gè)查詢項(xiàng)進(jìn)行“ % ”測試,正常查詢效果應(yīng)該是返回空數(shù)據(jù),但是卻查出所有的數(shù)據(jù)。 二、解決方案 1、在使用mybatis的模糊查詢時(shí),有兩個(gè)特殊符號需要注意: %(百分號):相當(dāng)于任意多個(gè)字符; _(下劃線):相當(dāng)于任意的單個(gè)字符;

    2024年02月01日
    瀏覽(22)
  • mysql對以逗號分隔的字段內(nèi)容進(jìn)行查詢——find_in_set函數(shù)或locate函數(shù)或position函數(shù)

    mysql對以逗號分隔的字段內(nèi)容進(jìn)行查詢——find_in_set函數(shù)或locate函數(shù)或position函數(shù)

    使用mysql時(shí),有可能一個(gè)字段代表一個(gè)集合,如果將這個(gè)集合單獨(dú)抽成一張表又不值當(dāng)?shù)模@個(gè)時(shí)候我們存儲時(shí),可以選擇用逗號將數(shù)據(jù)分隔開(只能用英文的逗號),如圖所示: 做查詢時(shí)怎么查呢? 假如說給一個(gè)數(shù)據(jù)作為查詢條件,判斷該字段是否存在,應(yīng)該怎么查呢?

    2024年01月15日
    瀏覽(21)
  • 【MyBatis】攔截查詢結(jié)果同時(shí)動(dòng)態(tài)替換

    項(xiàng)目中需要用到響應(yīng)時(shí)替換某些字段的某些值。

    2024年02月04日
    瀏覽(31)
  • Mybatis分頁查詢同時(shí)返回總數(shù)和數(shù)據(jù)

    我們在使用Mybatis分頁查詢數(shù)據(jù)列表時(shí),在用戶的一個(gè)請求中常常需要同時(shí)返回當(dāng)前頁的列表數(shù)據(jù)以及滿足條件的數(shù)據(jù)總條數(shù)用于分頁。 1)執(zhí)行兩次SQL,一次查列表,一次查總數(shù) ? ? ? 這種方法最簡單,也最容易實(shí)現(xiàn)。 2)分頁插件PageHelper ? ? ? 另一種常用的方式就是使用

    2024年02月14日
    瀏覽(26)
  • SQL 查詢中按多個(gè)字段排序的方法

    SQL 查詢中按多個(gè)字段排序的方法

    前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到網(wǎng)站,這篇文章男女通用,看懂了就去分享給你的碼吧。 在 SQL 查詢中,經(jīng)常需要按多個(gè)字段對結(jié)果進(jìn)行排序。本文將介紹如何使用 SQL 查詢語句按多個(gè)字段進(jìn)行排序,提

    2024年02月12日
    瀏覽(35)
  • Springboot Mybatis 自定義順序排序查詢,指定某個(gè)字段

    Springboot Mybatis 自定義順序排序查詢,指定某個(gè)字段

    與本文無關(guān) ?\\\"我進(jìn)去了\\\"? ....... 今天要講些什么?? 其實(shí)很簡單,就是查詢數(shù)據(jù)的時(shí)候,想根據(jù)自己指定的字段的自定義順序,做排序查詢數(shù)據(jù)。 本篇文章會講到的幾個(gè)點(diǎn) : 1. 單純sql 怎么實(shí)現(xiàn) 排序 2. 單純sql 怎么實(shí)現(xiàn) 自定義排序 3. 結(jié)合java ,怎么排序 4. 結(jié)合mybatis 怎么把

    2024年02月08日
    瀏覽(41)
  • es查詢nested字段類型數(shù)組長度來判斷是否包含多個(gè)值

    使用es時(shí)經(jīng)常會碰到查詢數(shù)組格式的字段是否有多個(gè)值的情況,總結(jié)一下。 一、字段類型為keywork時(shí) 當(dāng)字段類型為keyword時(shí)(創(chuàng)建索引后,添加的第一條數(shù)據(jù)id字段格式為數(shù)組格式,便會導(dǎo)致后續(xù)的數(shù)據(jù)都是數(shù)組),查詢id字段有多值時(shí)用以下查詢語句: 二、字段類型為nested類型時(shí)

    2024年02月11日
    瀏覽(102)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包