最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL與Mongo簡(jiǎn)單的查詢實(shí)例代碼

 更新時(shí)間:2016年10月17日 14:24:03   作者:芒果奶綠不加冰  
本文通過(guò)一個(gè)實(shí)例給大家用MySQL和mongodb分別寫(xiě)一個(gè)查詢,本文圖片并茂給大家介紹的非常詳細(xì),感興趣的朋友參考下吧

首先在這里我就不說(shuō)關(guān)系型數(shù)據(jù)庫(kù)與非關(guān)系型數(shù)據(jù)庫(kù)之間的區(qū)別了(百度上有很多)直接切入主題

我想查詢的內(nèi)容是這樣的:分?jǐn)?shù)大于0且人名是bob或是jake的總分?jǐn)?shù) 平均分?jǐn)?shù) 最小分?jǐn)?shù) 最大分?jǐn)?shù) 計(jì)數(shù)

舉這個(gè)實(shí)例來(lái)試試用MySQL和mongodb分別寫(xiě)一個(gè)查詢

首先我們先做一些準(zhǔn)備工作

MySQL的數(shù)據(jù)庫(kù)結(jié)構(gòu)如下

CREATE TABLE `new_schema`.`demo` (
`id` INT NOT NULL,
`person` VARCHAR(45) NOT NULL,
`score` VARCHAR(45) NOT NULL,
PRIMARY KEY (`id`));

建完表之后我們來(lái)插入一些數(shù)據(jù)

INSERT INTO `new_schema`.`demo` (`id`, `person`, `score`) VALUES ('1', 'bob', '50');
INSERT INTO `new_schema`.`demo` (`id`, `person`, `score`) VALUES ('2', 'jake', '60');
INSERT INTO `new_schema`.`demo` (`id`, `person`, `score`) VALUES ('3', 'bob', '100');
INSERT INTO `new_schema`.`demo` (`id`, `person`, `score`) VALUES ('6', 'jake', '100');
INSERT INTO `new_schema`.`demo` (`id`, `person`, `score`) VALUES ('8', 'li', '100');

我截個(gè)圖方便看一下結(jié)構(gòu)

好 接下來(lái)我們進(jìn)入mongodb的準(zhǔn)備工作 看一下建立的mongodb的集合里面文檔的結(jié)構(gòu)(基本跟MySQL一毛一樣)在這里我就不寫(xiě)插入文檔的具體過(guò)程了 (為了便看mongodb的顯示我都用兩種格式顯示:一個(gè)是表哥模塊顯示 一個(gè)是文本模塊顯示)

  這個(gè)是表格模塊顯示

  這個(gè)是文本模塊顯示

/* 1 */
{
"_id" : ObjectId("58043fa8e9a7804c05031e17"),
"person" : "bob",
"sorce" : 50
}
/* 2 */
{
"_id" : ObjectId("58043fa8e9a7804c05031e18"),
"person" : "bob",
"sorce" : 100
}
/* 3 */
{
"_id" : ObjectId("58043fa8e9a7804c05031e19"),
"person" : "jake",
"sorce" : 60
}
/* 4 */
{
"_id" : ObjectId("58043fa8e9a7804c05031e1a"),
"person" : "jake",
"sorce" : 100
}
/* 5 */
{
"_id" : ObjectId("58043fa8e9a7804c05031e1b"),
"person" : "li",
"sorce" : 100
}

開(kāi)始進(jìn)入正題

現(xiàn)在我想查的MySQL語(yǔ)句是這樣的(分?jǐn)?shù)大于0且人名是bob或是jake的總分?jǐn)?shù) 平均分?jǐn)?shù) 最小分?jǐn)?shù) 最大分?jǐn)?shù) 計(jì)數(shù))

SELECT person, SUM(score), AVG(score), MIN(score), MAX(score), COUNT(*) 
FROM demo 
WHERE score > 0 AND person IN('bob','jake') 
GROUP BY person;

下面開(kāi)始用Mongo寫(xiě)出這個(gè)查詢

  首先想到的是聚合框架

先用$match過(guò)濾 分?jǐn)?shù)大于0且人名是bob或是jake

db.demo.aggregate(
{
"$match":{
"$and":[
{"sorce":{"$gt":0}},
{"person":{"$in":["bob","jake"]}}
]
}
}

得到這個(gè)結(jié)果

  這個(gè)是表哥模塊顯示的結(jié)果:

  這個(gè)是文本模塊顯示的結(jié)果:

/* 1 */
{
"_id" : ObjectId("58043fa8e9a7804c05031e17"),
"person" : "bob",
"sorce" : 50
}
/* 2 */
{
"_id" : ObjectId("58043fa8e9a7804c05031e18"),
"person" : "bob",
"sorce" : 100
}
/* 3 */
{
"_id" : ObjectId("58043fa8e9a7804c05031e19"),
"person" : "jake",
"sorce" : 60
}
/* 4 */
{
"_id" : ObjectId("58043fa8e9a7804c05031e1a"),
"person" : "jake",
"sorce" : 100
}

然后想要分組并且顯示最大 最小 總計(jì) 平均值 和計(jì)數(shù)值

那么$group派上用場(chǎng)了:

db.demo.aggregate(
{
"$match":{
"$and":[
{"sorce":{"$gt":0}},
{"person":{"$in":["bob","jake"]}}
]
}
},
{
"$group":{"_id":"$person",
"sumSorce":{"$sum":"$sorce"},
"avgSorce":{"$avg":"$sorce"},
"lowsetSorce":{"$min":"$sorce"},
"highestSorce":{"$max":"$sorce"},
"count":{"$sum":1}} 
}
)

得到的結(jié)果就是 分?jǐn)?shù)大于0且人名是bob或是jake的總分?jǐn)?shù) 平均分?jǐn)?shù) 最小分?jǐn)?shù) 最大分?jǐn)?shù) 計(jì)數(shù)

  結(jié)果的表格模塊顯示:

  結(jié)果的文本模塊顯示:

/* 1 */
{
"_id" : "bob",
"sumSorce" : 150,
"avgSorce" : 75.0,
"lowsetSorce" : 50,
"highestSorce" : 100,
"count" : 2.0
}
/* 2 */
{
"_id" : "jake",
"sumSorce" : 160,
"avgSorce" : 80.0,
"lowsetSorce" : 60,
"highestSorce" : 100,
"count" : 2.0
}

以上所述是小編給大家介紹的MySQL與Mongo簡(jiǎn)單的查詢實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • MySQL 8中新增的這三大索引 隱藏、降序、函數(shù)

    MySQL 8中新增的這三大索引 隱藏、降序、函數(shù)

    這篇文章主要介紹了MySQL 8.x版本中新增的三大索引 隱藏索引、降索引序、函數(shù)索引,如果文章對(duì)你有點(diǎn)幫助,小伙伴們點(diǎn)贊、收藏、評(píng)論、分享走起呀
    2021-09-09
  • MySQL分頁(yè)分析原理及提高效率

    MySQL分頁(yè)分析原理及提高效率

    這篇文章主要介紹了MySQL分頁(yè)分析原理及提高效率的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • MySQL 優(yōu)化設(shè)置步驟

    MySQL 優(yōu)化設(shè)置步驟

    mysql的一些運(yùn)行效率等優(yōu)化設(shè)置,建議擁有服務(wù)器的朋友,可以測(cè)試。
    2009-03-03
  • Mysql使用insert插入多條記錄 批量新增數(shù)據(jù)

    Mysql使用insert插入多條記錄 批量新增數(shù)據(jù)

    這篇文章主要介紹了Mysql使用insert插入多條記錄批量新增數(shù)據(jù),需要的朋友可以參考下
    2017-08-08
  • Mysql數(shù)據(jù)庫(kù)的優(yōu)化詳解

    Mysql數(shù)據(jù)庫(kù)的優(yōu)化詳解

    這篇文章主要介紹了Mysql數(shù)據(jù)庫(kù)的優(yōu)化詳解,查詢優(yōu)化的本質(zhì)是讓數(shù)據(jù)庫(kù)優(yōu)化器為SQL語(yǔ)句選擇最佳的執(zhí)行計(jì)劃,一般來(lái)說(shuō),對(duì)于在線交易處理(OLTP)系統(tǒng)的數(shù)據(jù)庫(kù),減少數(shù)據(jù)庫(kù)磁盤(pán)I/O是SQL語(yǔ)句性能優(yōu)化的首要方法,需要的朋友可以參考下
    2023-07-07
  • 詳解mysql基本操作語(yǔ)句命令

    詳解mysql基本操作語(yǔ)句命令

    本文介紹了 鏈接Mysql,以及增刪改查等功能,需要的朋友可以參考
    2017-04-04
  • mysql Myisamchk小工具使用手冊(cè)

    mysql Myisamchk小工具使用手冊(cè)

    Myisamchk是MyISAM表維護(hù)的一個(gè)非常實(shí)用的工具??梢允褂胢yisamchk實(shí)用程序來(lái)獲得有關(guān)數(shù)據(jù)庫(kù)表的信息或檢查、修復(fù)、優(yōu)化他們。myisamchk適用MyISAM表(對(duì)應(yīng).MYI和.MYD文件的表)。
    2008-10-10
  • mysql插入中文數(shù)據(jù)變成問(wèn)號(hào)的解決方案

    mysql插入中文數(shù)據(jù)變成問(wèn)號(hào)的解決方案

    這篇文章主要介紹了mysql插入中文數(shù)據(jù)變成問(wèn)號(hào)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • MySQL備份腳本的寫(xiě)法

    MySQL備份腳本的寫(xiě)法

    這篇文章主要介紹了MySQL備份腳本的寫(xiě)法,幫助大家更好的理解和學(xué)習(xí)MySQL,感興趣的朋友可以了解下
    2020-08-08
  • MySQL修改密碼的四種實(shí)現(xiàn)方式

    MySQL修改密碼的四種實(shí)現(xiàn)方式

    文章主要介紹了如何使用命令行工具修改MySQL密碼,包括使用`setpassword`命令和`mysqladmin`命令,此外,還詳細(xì)描述了忘記密碼時(shí)的處理方法,包括關(guān)閉MySQL服務(wù)、跳過(guò)權(quán)限表認(rèn)證、修改密碼、刷新權(quán)限等步驟
    2025-02-02

最新評(píng)論

龙井市| 梅河口市| 陈巴尔虎旗| 招远市| 恩平市| 阿勒泰市| 盐池县| 玛曲县| 榆树市| 冀州市| 乐平市| 天峨县| 永登县| 天水市| 嘉定区| 新巴尔虎左旗| 茶陵县| 江川县| 阆中市| 玉林市| 德州市| 阿克苏市| 邮箱| 田阳县| 淮北市| 洛隆县| 百色市| 读书| 呈贡县| 洪洞县| 南溪县| 丰镇市| 茂名市| 建水县| 花莲市| 平邑县| 深水埗区| 济宁市| 万宁市| 卓尼县| 定日县|