MySQLその3

始めに

どうも,ゆうき( @BASEBALLY15 )です^^

前回は,合計や平均,最大値などを求める方法についてご紹介しました.

今回は,昇順・降順に並び替えるorder by句』と四捨五入round』と結合concat』の使い方についてご紹介します.

(Udemy『はじめてのMySQL・データ分析入門』を参考)

order by,round,concatを使ってみよう!

MySQL Workbench

MySQL Workbenchを使います.

前回は,『world』データベースの『city』テーブルを使いましたが,

今回は,『country』テーブルを使います.

worldデータベースのcountryテーブル

country』テーブルはこのように,各国の人口GNP平均寿命などのデータが入っています.

#『world』というサンプルデータベースを使う
use world;

#全表示
select * from country;
 CodeNameContinentRegionSurfaceAreaIndepYearPopulationLifeExpectancyGNPGNPOldLocalNameGovernmentFormHeadOfStateCapitalCode2
 ABWArubaNorth AmericaCaribbean193.0010300078.4828.00793.00ArubaNonmetropolitan Territory of The NetherlandsBeatrix129AW
 AFGAfghanistanAsiaSouthern and Central Asia652090.0019192272000045.95976.00Afganistan/AfqanestanIslamic EmirateMohammad Omar1AF
 AGOAngolaAfricaCentral Africa1246700.0019751287800038.36648.007984.00AngolaRepublicJosé Eduardo dos Santos56AO
 AIAAnguillaNorth AmericaCaribbean96.00800076.163.20AnguillaDependent Territory of the UKElisabeth II62AI
 ALBAlbaniaEuropeSouthern Europe28748.001912340120071.63205.002500.00ShqipëriaRepublicRexhep Mejdani34AL
 ANDAndorraEuropeSouthern Europe468.0012787800083.51630.00AndorraParliamentary Coprincipality55AD
 ANTNetherlands AntillesNorth AmericaCaribbean800.0021700074.71941.00Nederlandse AntillenNonmetropolitan Territory of The NetherlandsBeatrix33AN
 AREUnited Arab EmiratesAsiaMiddle East83600.001971244100074.137966.0036846.00Al-Imarat al-´Arabiya al-MuttahidaEmirate FederationZayid bin Sultan al-Nahayan65AE
 ARGArgentinaSouth AmericaSouth America2780400.0018163703200075.1340238.00323310.00ArgentinaFederal RepublicFernando de la Rúa69AR
 ARMArmeniaAsiaMiddle East29800.001991352000066.41813.001627.00HajastanRepublicRobert Kotšarjan126AM
 

このテーブルの中で,今回は,『 Name(国名) 』,『 continent(大陸名) 』,『 LifeExpectancy(平均寿命) 』のデータを使います.

select Name, Continent, LifeExpectancy  from country;
 NameContinentLifeExpectancy
 ArubaNorth America78.4
 AfghanistanAsia45.9
 AngolaAfrica38.3
 AnguillaNorth America76.1
 AlbaniaEurope71.6
 AndorraEurope83.5
 Netherlands AntillesNorth America74.7
 United Arab EmiratesAsia74.1
 ArgentinaSouth America75.1
 ArmeniaAsia66.4

並び替え(order by句)を使ってみよう!

order by句を使うことで,データを昇順に並び替えたり,降順に並び替えたりできます.

LifeExpectancy(平均寿命) 』 を降順に並び替えたいと思います.

それでは,コードを見ていきましょう⤵

#LifeExpectancy(平均寿命)が高い順に並び替える
select 
	Name, Continent, LifeExpectancy 
from 
	country 
order by 
	LifeExpectancy desc;
 NameContinentLifeExpectancy
 AndorraEurope83.5
 MacaoAsia81.6
 San MarinoEurope81.1
 JapanAsia80.7
 SingaporeAsia80.1
 AustraliaOceania79.8
 SwitzerlandEurope79.6
 SwedenEurope79.6
 Hong KongAsia79.5
 CanadaNorth America79.4

order by 並び替えたい列名 desc

降順に並び替えることができます.

ちなみに,昇順に並び替えたい場合は,

order by 並び替えたい列名 asc

を使います.

四捨五入(round)を使ってみよう!

小数第何位まで表示させたいかを決めるために,『round』を使います.

上のテーブルを見ると, LifeExpectancy(平均寿命) の数値が,小数第1位まで表示されているので,

四捨五入して,整数で表示させたいと思います.

#LifeExpectancyを小数第1位で四捨五入する
select 
	Name, Continent, round(LifeExpectancy, 0) 
from 
	country 
order by 
	LifeExpectancy desc;
 NameContinentround(LifeExpectancy, 0)
 AndorraEurope84
 MacaoAsia82
 San MarinoEurope81
 JapanAsia81
 SingaporeAsia80
 AustraliaOceania80
 SwitzerlandEurope80
 SwedenEurope80
 Hong KongAsia80
 CanadaNorth America79

round(四捨五入したい列名, 0)

で,小数第1位を四捨五入します.

ちなみに,0を1に変えると,小数第2位を四捨五入します.

必要に応じて,四捨五入することで,見やすくなりますね^^

最後に,結合( concat )の使い方をご紹介します.

結合(concat)を使ってみよう!

concat』を使うことで,列同士を組み合わせることができます.

また,文字を加えることもできます!

今回は,continentNameを組み合わせて,このように表示させたいと思います.

大陸:continent・国名:Name

それでは,コードを見ていきましょう⤵

#『大陸:continent・国名:Name』と表示する
select 
	concat("大陸:", continent, "・", "国名:", Name) , round(LifeExpectancy, 0) 
from 
	country
order by
	LifeExpectancy desc;
 concat(“大陸:”, continent, “・”, “国名:”, Name)round(LifeExpectancy, 0)
 大陸:Europe・国名:Andorra84
 大陸:Asia・国名:Macao82
 大陸:Europe・国名:San Marino81
 大陸:Asia・国名:Japan81
 大陸:Asia・国名:Singapore80
 大陸:Oceania・国名:Australia80
 大陸:Europe・国名:Switzerland80
 大陸:Europe・国名:Sweden80
 大陸:Asia・国名:Hong Kong80
 大陸:North America・国名:Canada79

このように,councatを使うことで,文字と列同士を組み合わせて表示させることができます.

日本語で表示させることができるのは便利ですね^^

終わりに

今回は,並び替え(order by),四捨五入(round),結合(concat)の使い方についてご紹介しました.

データ分析をするときには,データを扱いやすいように整理する必要があるので,

今回の方法を知っておいた方がいいのではないでしょうか^^

今後も引き続き,MySQLの使い方について投稿していきます.

それでは・・・

Q &A

参考資料

MySQL Workbench インストール方法

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA