主頁 > 資料庫 > SQLZOO翻譯及其代碼答案(2021/1/17更)

SQLZOO翻譯及其代碼答案(2021/1/17更)

2021-01-18 13:15:50 資料庫

SQL入門小白的練習作業整理(●’?’●)

目錄

    • 0 SELECT basics
    • 1 SELECT names
    • 2 SELECT from World
    • 3 SELECT from Nobel
    • 4 SELECT within SELECT
    • 5 SUM and COUNT
    • 6 JOIN
    • 7 More Join operations

0 SELECT basics

表:
world(name,continent.area,population,gdp,capital)

#1(考察where) 列出德國的人口

SELECT population FROM world 
  WHERE name = 'Germany';

#2(考察in) 列出’Sweden’, ‘Norway’ 和 'Denmark’地區的名字和人口

SELECT name, population FROM world
  WHERE name IN ( 'Sweden', 'Norway', 'Denmark');

#3(考察between) 列出面積為200000-250000之間的國家名和面積

SELECT name, area FROM world
  WHERE area BETWEEN 200000 AND 250000;

1 SELECT names

表:
world(name,continent.area,population,gdp,capital)

#1 列出Y開頭的國家名

SELECT name FROM world
  WHERE name LIKE 'Y%';

#2 列出Y結尾的國家名

SELECT name FROM world
  WHERE name LIKE '%Y';

#3 列出含有字母x的國家名

SELECT name FROM world
  WHERE name LIKE '%x%';

#4 列出land結尾的國家名

SELECT name FROM world
  WHERE name LIKE '%land';

#5 列出開頭是C,結尾是ia的國家名

SELECT name FROM world
  WHERE name LIKE 'C%ia';

#6 列出名字里含有oo的國家名

SELECT name FROM world
  WHERE name LIKE '%oo%';

#7 列出名字里含有3個以上a的國家名

SELECT name FROM world
  WHERE name LIKE '%a%a%a%';

#8 列出名字里第二個字母是t的國家名,按照國家名排序

SELECT name FROM world
  WHERE name LIKE '_t%'
  ORDER BY name;

#9 列出名字里有兩個字母o中間相隔2個字符的國家名

SELECT name FROM world
  WHERE name LIKE '%o__o%'

#10 列出名字為四個字母的國家名

SELECT name FROM world
  WHERE name LIKE '____';

#11 列出國家名和首都名稱一致的國家名

SELECT name FROM world
  WHERE name = capital;

#12 列出首都名是國家名加上’City’的國家名(City前要加空格)

SELECT name FROM world
  WHERE concat(name,' City') = capital;

#13 列出首都名和國家名,其中首都名包含有國家名

SELECT capital, name FROM world
  WHERE capital LIKE concat('%',name,'%');

#14 列出首都名和國家名,其中首都名是國家名的延申

SELECT capital, name FROM world
  WHERE capital LIKE concat(name,'_','%');

#15(新增REPLACE函式)在14T的篩選基礎上,列出國家名,國家名的延申部分(extension)

SELECT name,REPLACE(capital,name,'') AS extension
  FROM world
  WHERE capital LIKE concat(name,'_','%');

2 SELECT from World

表:
world(name,continent.area,population,gdp,capital)

#1 略

#2 列出人口數至少200000000的國家

SELECT name FROM world
  WHERE population >= 200000000;

#3 列出人口數至少200000000的國家名以及人均GDP

SELECT name,gdp/population AS 'per capita GDP'
  FROM world
  WHERE population >= 200000000;

#4 列出南美大陸的國家名和人口數(以百萬為單位)

SELECT name,population/1000000 AS 'population in millions'
  FROM world
  WHERE continent = 'South America';

#5 列出rance, Germany, Italy及其人口數

SELECT name, population From world
  WHERE name IN ('France','Germany','Italy');

#6 列出名字含有’United’的國家名

SELECT name FROM world
  WHERE name LIKE '%United%';

#7 列出面積超過3百萬或者人口超過250百萬的國家名,人口數和面積

SELECT name, population, area FROM world
  WHERE area > 3000000
    OR population > 250000000;

#8 列出面積超過3百萬或者人口超過250百萬(不能兩者同時滿足)的國家名,人口數和面積

SELECT name, population, area FROM world
  WHERE (area > 3000000
    AND population <= 250000000)
    OR(area <= 3000000
    AND population > 250000000);

#9(新增ROUND函式)列出南美地區的國家名,人口數(單位為百萬),GDP(單位為十億),并保留兩位小數

SELECT name, ROUND(population/1000000,2), ROUND(gdp/1000000000,2)
  FROM world
  WHERE continent = 'South America';

#10 列出GDP至少1000000000000的國家名和人均GDP(保留到千位數)

SELECT name, ROUND(gdp/population,-3) AS 'per-capta GDP'
  FROM world
  WHERE gdp >= 1000000000000;

#11(新增LENGTH函式) 列出國家名和首都名長度一致的國家名和首都名

SELECT name, capital FROM world
  WHERE LENGTH(name) = LENGTH(capital);

#12(新增LEFT函式)列出國家名和首都名首字母一致且兩者不完全相等的國家名和首都名

SELECT name, capital FROM world
  WHERE LEFT(name,1) = LEFT(capital,1)
    AND name <> capital;

#13 列出含有所有元音字母‘aeiou’且不含空格的國家名

SELECT name FROM world
  WHERE name LIKE '%a%'
    AND name LIKE '%e%'
    AND name LIKE '%i%'
    AND name LIKE '%o%'
    AND name LIKE '%u%'
    AND name NOT LIKE '% %';

3 SELECT from Nobel

表:
nobel(yr,subject,winner)

#1 列出1950年的諾貝爾獎獎項和得主

SELECT yr, subject, winner FROM nobel
  WHERE yr = 1950;

#2 列出1962年獲得諾貝爾文學獎的人

SELECT winner FROM nobel
  WHERE yr = 1962
  AND subject = 'Literature';

#3 列出 ‘Albert Einstein’ 的獲獎年份與獎項

SELECT yr, subject FROM nobel
  WHERE winner =  'Albert Einstein';

#4 列出2000年及其以后的諾貝爾和平獎得主

SELECT winner FROM nobel
  WHERE yr >= 2000
  AND subject = 'Peace';

#5 列出1980-1989年獲得諾貝爾文學獎的所有資訊

SELECT * FROM nobel
  WHERE subject = 'Literature'
  AND yr BETWEEN 1980 AND 1989;

#6 列出獲獎者為以下幾人的所有資訊

SELECT * FROM nobel
 WHERE winner IN ('Theodore Roosevelt',
                  'Woodrow Wilson',
                  'Jimmy Carter', 
                  'Barack Obama'
                  );

#7 列出First name是John的獲獎者

SELECT winner FROM nobel
  WHERE winner LIKE 'John %';

#8 列出1980年獲得物理學獎或者1984年獲得化學獎的所有資訊

SELECT * FROM nobel
  WHERE (yr = 1980 AND subject = 'Physics')
  OR (yr = 1984 AND subject = 'Chemistry');

#9 列出1980年得獎的所有資訊(不包括化學獎和醫藥學獎)

SELECT * FROM nobel
  WHERE yr = 1980
  AND subject NOT IN ('Chemistry','Medicine');

#10 列出所有資訊(條件:獎項為醫藥學并且是1910年以前(不包括1910),或者獎項為文學并且是2004年以后(包括2004年))

SELECT * FROM nobel
  WHERE (subject = 'Medicine' AND yr < 1910)
  OR (subject = 'Literature' AND yr >=2004);

#11 列出得獎者為PETER GRüNBERG的所有資訊

SELECT * FROM nobel
  WHERE winner = 'PETER GRüNBERG';

#12 列出得獎者為EUGENE O’NEILL的所有資訊

SELECT * FROM nobel
  WHERE winner = 'EUGENE O\'NEILL';

(\為轉義符,放在要轉義的字符前)

#13 列出得獎者前綴為Sir的winner,yr,subject資訊,并且按照時間最近順序排序,然后按照得獎者名字排序

SELECT winner, yr, subject FROM nobel
  WHERE  winner LIKE 'Sir%'
  ORDER BY yr DESC, winner;

#14 列出1984年諾貝爾得獎的winner和subject,按照subject和winner排序,但是把化學獎和物理學獎資訊列在最后

SELECT winner, subject FROM nobel
  WHERE yr = 1984
  ORDER BY subject IN ('Chemistry','Physics'), subject, winner;

4 SELECT within SELECT

表:
world(name,continent.area,population,gdp,capital)

#1 列出人口數大于俄羅斯人口數的國家名

SELECT name FROM world
  WHERE population >
     (SELECT population FROM world
      WHERE name='Russia')

#2 列出歐洲人均GDP大于英國的國家名

SELECT name FROM world
  WHERE gdp/population >
     (SELECT gdp/population FROM world
      WHERE name='United Kingdom')
  AND continent = 'Europe';

#3 列出大陸與’Argentina’, 'Australia’一致的所有國家名和大陸名

SELECT name, continent FROM world
  WHERE continent IN(SELECT continent FROM world WHERE name IN('Argentina', 'Australia'))
  ORDER BY name;

#4 列出人口數超過加拿大但小于波蘭的國家和人口數

SELECT name, population FROM world
  WHERE population > (SELECT population FROM world 
  					    WHERE name = 'Canada') 
  AND population < (SELECT population FROM world 
  	                  WHERE name = 'Poland');

#5 列出歐洲國家的國家名,以及人口相對于德國的人口數的百分比

SELECT name, CONCAT(ROUND(100*population/(SELECT population 
										  FROM world 
										  WHERE name = 'Germany'),0),'%') AS percentage 
  FROM world
  WHERE continent = 'Europe';

#6 列出gdp大于歐洲所有國家的國家名

SELECT name FROM world
  WHERE gdp > ALL(SELECT IFNULL(gdp,0) 
  	              FROM world 
  	              WHERE continent = 'Europe'
  	              );

#7 列出各個大陸面積最大的國家的continent,name,area

SELECT continent, name, area FROM world x
  WHERE area >= ALL(SELECT area 
  					FROM world y 
  					WHERE y.continent = x.continent
  					);

#8* 列出每個大陸按照國家名排序的第一個國家的大陸名和國家名

SELECT continent, name FROM world x
  WHERE name = (SELECT name 
  				FROM world y 
  				WHERE y.continent = x.continent 
  				ORDER BY name 
  				LIMIT 1
  				);

#9* 找出哪些大陸里每一個國家的人口數都小于25000000,列出這些大陸的name,continent,population資訊

SELECT name, continent, population FROM world x
  WHERE 25000000 > ALL(SELECT population 
  	   				   FROM world y 
  	   				   WHERE y.continent = x.continent
  	   				   );

#10* 列出國家人口數超過該大陸內任何一個國家(不包括自己)人口數三倍的國家名和大陸名

SELECT name, continent FROM world x
  WHERE population > ALL(SELECT population*3 
  						 FROM world y 
  						 WHERE y.continent = x.continent
  						 AND y.name <> x.name
  						 );

5 SUM and COUNT

表:
world(name,continent.area,population,gdp,capital)

#1 列出全世界總人口

SELECT SUM(population) FROM world;

#2 列出所有大陸(不重復)

SELECT DISTINCT continent FROM world;

#3 列出非洲大陸的總GDP

SELECT SUM(gdp) FROM world
  WHERE continent = 'Africa';

#4 有多少國家的面積大于1000000

SELECT COUNT(*) FROM world
  WHERE area >= 1000000;

#5 ‘Estonia’, ‘Latvia’, 'Lithuania’一共有多少人口

SELECT SUM(population) FROM world
  WHERE name IN ('Estonia', 'Latvia', 'Lithuania');

#6 列出每個大陸及其國家數量

SELECT continent, COUNT(*) FROM world
  GROUP BY continent;

#7 列出每個大陸及其人口大于10000000的國家數量

SELECT continent, COUNT(*) FROM world
  WHERE population >= 10000000
  GROUP BY continent;

#8 列出總人口至少100百萬的大陸

SELECT continent FROM world
  GROUP BY continent
  HAVING SUM(population) >= 100000000;

6 JOIN

表:
game(id,mdate,stadium,team1,team2)
goal(matchid,teamid,player,gtime)
eteam(id,teamname,coach)

#1 列出Germany隊的比賽場次,球員資訊

SELECT matchid, player FROM goal 
  WHERE teamid = 'GER';

#2 列出1012比賽的id, stadium, team1, team2資訊

SELECT id,stadium,team1,team2 FROM game
  WHERE id = 1012;

#3 列出每次德國進球的player, teamid, stadium mdate

SELECT player, teamid, stadium, mdate
  FROM game AS ga INNER JOIN goal AS go
  ON ga.id = go.matchid
  WHERE teamid = 'GER';

#4 列出球員名字前綴是Mario的每場進球的team1, team2 player資訊

SELECT team1, team2, player
  FROM game AS ga INNER JOIN goal AS go
  ON ga.id = go.matchid
  WHERE player LIKE 'Mario%';

#5 列出所有10分鐘以內進球的player, teamid, coach, gtime資訊

SELECT player, teamid, coach, gtime
  FROM goal AS go INNER JOIN eteam AS e
  ON go.teamid = e.id
  WHERE gtime <= 10;

#6 列出team1教練是’Fernando Santos’的比賽的時間以及隊伍名稱

SELECT mdate, teamname
  FROM game AS ga INNER JOIN eteam AS e
  ON ga.team1 = e.id
  WHERE coach = 'Fernando Santos';

#7 列出在’National Stadium, Warsaw’參加比賽的球員名字

SELECT player
  FROM game AS ga INNER JOIN goal AS go
  ON ga.id = go.matchid
  WHERE stadium = 'National Stadium, Warsaw';

#8 列出所有與德國對決的比賽中進球的球員名字(不包括德國隊球員)

SELECT DISTINCT player
  FROM game JOIN goal ON matchid = id 
    WHERE (team1 = 'GER' OR team2 = 'GER')
    AND teamid <> 'GER';

#9 列出所有隊伍名字及其進球次數

SELECT teamname, COUNT(*)
  FROM goal AS go INNER JOIN eteam AS e
  ON go.teamid = e.id
  GROUP BY teamname;

#10 列出每一個體育場及在該體育場的進球次數

SELECT stadium, COUNT(*)
  FROM game AS ga INNER JOIN  goal AS go
  ON ga.id = go.matchid
  GROUP BY stadium;

#11 列出每一場’POL’參與的比賽編碼,時間以及進球次數

SELECT matchid, mdate, COUNT(*)
  FROM game AS ga INNER JOIN goal AS go
  ON ga.id = go.matchid
  WHERE team1 = 'POL' OR team2 = 'POL'
  GROUP BY matchid, mdate;

#12 每一場’GER’進球的比賽里,列出matchid,mdate,以及’GER’隊的進球次數

SELECT matchid, mdate, COUNT(*)
  FROM game AS ga INNER JOIN goal AS go
  ON ga.id = go.matchid
  AND teamid = 'GER'
  GROUP BY matchid, mdate;

#13(新增CASE WHEN) 列出每場比賽兩支隊伍各自的進球次數

SELECT mdate,team1,
  SUM(CASE WHEN team1 = teamid 
  	  THEN 1
  	  ELSE 0
  	  END) AS score1,team2,
  SUM(CASE WHEN team2 = teamid 
  	  THEN 1
  	  ELSE 0
  	  END) AS score2
  FROM game AS ga LEFT OUTER JOIN goal AS go
  ON ga.id = go.matchid
  GROUP BY mdate, matchid, team1, team2;

7 More Join operations

表:
movie(id,title,yr,director,budget,gross)
actor(id,name)
casting(movieid,actorid,ord)

#1 略

#2 列出’Citizen Kane’的年份

SELECT yr FROM movie WHERE title = 'Citizen Kane';

#3 列出所有名字含有’Star Trek’的電影的id,title,yr資訊,并以年排序

SELECT id, title, yr FROM movie
  WHERE title LIKE '%Star Trek%'
  ORDER BY yr;

#4 列出’Glenn Close’演員的id

SELECT id FROM actor
  WHERE name = 'Glenn Close';

#5 列出電影’Casablanca’的id

SELECT id FROM movie
  WHERE title = 'Casablanca';

#6 列出電影’Casablanca’的演員名單

SELECT name 
  FROM actor AS a INNER JOIN casting AS c
    ON a.id = c.actorid
    WHERE movieid = (SELECT id FROM movie
  					   WHERE title = 'Casablanca');

#7 列出電影’Alien’的演員名單

SELECT name 
  FROM actor AS a INNER JOIN casting AS c
  ON a.id = c.actorid
  WHERE movieid = (SELECT id FROM movie
  					 WHERE title = 'Alien');

#8 列出演員 'Harrison Ford’出演過的電影

SELECT title
  FROM movie AS m INNER JOIN casting AS c
  ON m.id = c.movieid
  WHERE actorid = (SELECT id FROM actor 
  				     WHERE name = 'Harrison Ford');

#9 列出演員 'Harrison Ford’出演過的電影(條件是ord<>1)

SELECT title
  FROM movie AS m INNER JOIN casting AS c
  ON m.id = c.movieid
  WHERE actorid = (SELECT id FROM actor 
  				     WHERE name = 'Harrison Ford')
  AND ord <> 1;

#10 列出1962年的電影以及主角名(ord=1)

SELECT title, name
  FROM movie AS m INNER JOIN casting AS c
  	ON m.id = c.movieid
  INNER JOIN actor AS a
  	ON c.actorid = a.id
  WHERE m.yr = 1962
  AND ord = 1;

#11 列出’Rock Hudson’每年的作品數量(篩選出超過兩部作品的年份)

SELECT yr,COUNT(title) FROM
  movie JOIN casting ON movie.id=movieid
        JOIN actor   ON actorid=actor.id
WHERE name='Rock Hudson'
GROUP BY yr
HAVING COUNT(title) > 2;

#12 列出’Julie Andrews’演過的所有電影以及主角(ord=1)

SELECT title,name FROM 
  movie AS m INNER JOIN casting AS c ON m.id = c.movieid
			 INNER JOIN actor AS a ON c.actorid = a.id
WHERE m.id IN (SELECT movieid FROM casting
			   WHERE actorid IN (SELECT id FROM actor
								 WHERE name='Julie Andrews'))
AND ord = 1;

#13 列出至少有15部電影為主角的演員名單,按照字母排序

SELECT name FROM 
  movie AS m INNER JOIN casting AS c ON m.id = c.movieid
			 INNER JOIN actor AS a ON c.actorid = a.id
WHERE ord = 1
GROUP BY name
HAVING COUNT(*) >= 15
ORDER BY name;

#14 列出1978年的電影作品及其演員數量,要求用演員數量從多到少排序,再按照電影名字排序

SELECT title,COUNT(*)
FROM movie AS m INNER JOIN casting AS c
  ON m.id = c.movieid
INNER JOIN actor AS a
  ON c.actorid = a.id
WHERE yr = 1978
GROUP BY title
ORDER BY COUNT(*) DESC,title

#15 列出與’Art Garfunkel’合作過的所有演員

SELECT DISTINCT name
  FROM actor AS a INNER JOIN casting AS c
  	ON a.id = c.actorid
WHERE movieid IN (SELECT m.id
  				  FROM movie AS m INNER JOIN casting AS c
  					ON m.id = c.movieid
  				  WHERE actorid = (SELECT id FROM actor 
  				     			   WHERE name =  'Art Garfunkel'))
AND name <> 'Art Garfunkel';

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/250282.html

標籤:其他

上一篇:【R語言】必學包之lubridate包

下一篇:寒假學習的第一周

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • GPU虛擬機創建時間深度優化

    **?桔妹導讀:**GPU虛擬機實體創建速度慢是公有云面臨的普遍問題,由于通常情況下創建虛擬機屬于低頻操作而未引起業界的重視,實際生產中還是存在對GPU實體創建時間有苛刻要求的業務場景。本文將介紹滴滴云在解決該問題時的思路、方法、并展示最終的優化成果。 從公有云服務商那里購買過虛擬主機的資深用戶,一 ......

    uj5u.com 2020-09-10 06:09:13 more
  • 可編程網卡芯片在滴滴云網路的應用實踐

    **?桔妹導讀:**隨著云規模不斷擴大以及業務層面對延遲、帶寬的要求越來越高,采用DPDK 加速網路報文處理的方式在橫向縱向擴展都出現了局限性。可編程芯片成為業界熱點。本文主要講述了可編程網卡芯片在滴滴云網路中的應用實踐,遇到的問題、帶來的收益以及開源社區貢獻。 #1. 資料中心面臨的問題 隨著滴滴 ......

    uj5u.com 2020-09-10 06:10:21 more
  • 滴滴資料通道服務演進之路

    **?桔妹導讀:**滴滴資料通道引擎承載著全公司的資料同步,為下游實時和離線場景提供了必不可少的源資料。隨著任務量的不斷增加,資料通道的整體架構也隨之發生改變。本文介紹了滴滴資料通道的發展歷程,遇到的問題以及今后的規劃。 #1. 背景 資料,對于任何一家互聯網公司來說都是非常重要的資產,公司的大資料 ......

    uj5u.com 2020-09-10 06:11:05 more
  • 滴滴AI Labs斬獲國際機器翻譯大賽中譯英方向世界第三

    **桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......

    uj5u.com 2020-09-10 06:11:29 more
  • MPP (Massively Parallel Processing)大規模并行處理

    1、什么是mpp? MPP (Massively Parallel Processing),即大規模并行處理,在資料庫非共享集群中,每個節點都有獨立的磁盤存盤系統和記憶體系統,業務資料根據資料庫模型和應用特點劃分到各個節點上,每臺資料節點通過專用網路或者商業通用網路互相連接,彼此協同計算,作為整體提供 ......

    uj5u.com 2020-09-10 06:11:41 more
  • 滴滴資料倉庫指標體系建設實踐

    **桔妹導讀:**指標體系是什么?如何使用OSM模型和AARRR模型搭建指標體系?如何統一流程、規范化、工具化管理指標體系?本文會對建設的方法論結合滴滴資料指標體系建設實踐進行解答分析。 #1. 什么是指標體系 ##1.1 指標體系定義 指標體系是將零散單點的具有相互聯系的指標,系統化的組織起來,通 ......

    uj5u.com 2020-09-10 06:12:52 more
  • 單表千萬行資料庫 LIKE 搜索優化手記

    我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......

    uj5u.com 2020-09-10 06:13:25 more
  • 滴滴Ceph分布式存盤系統優化之鎖優化

    **桔妹導讀:**Ceph是國際知名的開源分布式存盤系統,在工業界和學術界都有著重要的影響。Ceph的架構和演算法設計發表在國際系統領域頂級會議OSDI、SOSP、SC等上。Ceph社區得到Red Hat、SUSE、Intel等大公司的大力支持。Ceph是國際云計算領域應用最廣泛的開源分布式存盤系統, ......

    uj5u.com 2020-09-10 06:14:51 more
  • es~通過ElasticsearchTemplate進行聚合~嵌套聚合

    之前寫過《es~通過ElasticsearchTemplate進行聚合操作》的文章,這一次主要寫一個嵌套的聚合,例如先對sex集合,再對desc聚合,最后再對age求和,共三層嵌套。 Aggregations的部分特性類似于SQL語言中的group by,avg,sum等函式,Aggregation ......

    uj5u.com 2020-09-10 06:14:59 more
  • 爬蟲日志監控 -- Elastc Stack(ELK)部署

    傻瓜式部署,只需替換IP與用戶 導讀: 現ELK四大組件分別為:Elasticsearch(核心)、logstash(處理)、filebeat(采集)、kibana(可視化) 下載均在https://www.elastic.co/cn/downloads/下tar包,各組件版本最好一致,配合fdm會 ......

    uj5u.com 2020-09-10 06:15:05 more
最新发布
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:33:24 more
  • MySQL中binlog備份腳本分享

    關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......

    uj5u.com 2023-04-20 08:28:06 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:27:27 more
  • 快取與資料庫雙寫一致性幾種策略分析

    本文將對幾種快取與資料庫保證資料一致性的使用方式進行分析。為保證高并發性能,以下分析場景不考慮執行的原子性及加鎖等強一致性要求的場景,僅追求最終一致性。 ......

    uj5u.com 2023-04-20 08:26:48 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:26:35 more
  • 云時代,MySQL到ClickHouse資料同步產品對比推薦

    ClickHouse 在執行分析查詢時的速度優勢很好的彌補了MySQL的不足,但是對于很多開發者和DBA來說,如何將MySQL穩定、高效、簡單的同步到 ClickHouse 卻很困難。本文對比了 NineData、MaterializeMySQL(ClickHouse自帶)、Bifrost 三款產品... ......

    uj5u.com 2023-04-20 08:26:29 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:25:13 more
  • Redis 報”OutOfDirectMemoryError“(堆外記憶體溢位)

    Redis 報錯“OutOfDirectMemoryError(堆外記憶體溢位) ”問題如下: 一、報錯資訊: 使用 Redis 的業務介面 ,產生 OutOfDirectMemoryError(堆外記憶體溢位),如圖: 格式化后的報錯資訊: { "timestamp": "2023-04-17 22: ......

    uj5u.com 2023-04-20 08:24:54 more
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:24:03 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:23:11 more