Skip to content

hoffjager/databases

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 

Repository files navigation

gamescollection

Updated as of 31st May 2026

Introduction

  • I decided to create this repository to display my relational database, consisting of my PlayStation video game collection.

    • I have earned a Higher Diploma in Data Analytics from ATU Galway, along with the IT Specialist Certificate in Databases from Pearson Vue.
    • Both courses involved the study of database management, as well as web application design.
  • I am also currently studying to complete a Continuing Professional Development (CPD) course in Data Analysis for Professionals from TU Dublin.

    • A Continuing Professional Development (CPD) course for students is a structured, often accredited, learning activity designed to enhance specific skills, knowledge, and competence in a professional context.
    • Unlike a full academic degree, CPD courses are typically shorter, flexible, and focused on practical application to help students bridge the gap between academic knowledge and workplace requirements.
    • This CPD course involves statistical analysis and data visualisation, and I wish to implement these into the database.
  • I thought of my video game collection as the perfect example of implementing my learnings from the above courses.

Overview

  • I have set up a local Transact-SQL database via Microsoft SQL Server 2014.
  • The following data compilation was carried out, in order to discover insights in relation to various matters, such as the pricing & purchasing of games:
    • Video game receipts issued to my Gmail account at times of purchase.
    • Raw data entered & compiled in Google Sheets files.
    • Processed data to be added to the database via Microsoft SQL Server 2014.

References

Books

  • Forta, B. (2004), Sams Teach Yourself SQL in 10 Minutes, 3rd Edition, Sams Publishing.

Websites

PSPrices
  • PSPrices is a highly popular third-party price tracking service, used by gamers from 71 regions worldwide to monitor discounts and price history for digital games across several platforms.
    • As of February 2026, the site remains a go-to resource for tracking deals on the PlayStation Store, Xbox Store, Nintendo eShop, and Steam.
  • Upon signing up for free:
    • I decided on 2nd November 2021 to contribute a one-off lifetime payment of approximately €69.99 for PSPrices Pro (until 2nd November 2120).
    • This was to show my gratitude to the developers of PSPrices for their brilliant service.
    • The Pro features of their website include:
      • Priority Notifications: Pro users receive price-drop alerts before free users.
      • Ad-Free Experience: Removes all advertisements from the website for a cleaner, faster interface.
      • PlayStation Account Sync: Syncs your PlayStation library, wishlist, and trophies directly with your PSPrices account for the duration of your subscription.
  • Just pick your favourite games, click Subscribe, and PSPrices will send you an email when the prices of games drop in the sales, as well as upcoming games to watch.
  • Join the PSprices community today: https://psprices.com/account/login/
  • hoff_jager PSN Game Wishlist - https://psprices.com/wish-list/HQkF82kb
PSNProfiles
  • PSNProfiles is a leading independent database and community hub for tracking PlayStation trophies, statistics, and gaming progress.
  • It is widely used by "trophy hunters" to monitor their completion percentages and to compare achievements with others globally.
  • Upon signing up for free:
    • I decided on 21st September 2020 to contribute a one-off lifetime payment of approximately €10.99 for PSNProfiles Premium.
    • This was to show my gratitude to the developers of PSNProfiles for their brilliant service.
    • The Premium features of their website include:
      • Instant Profile Refresh: Update your trophy list as often as once per minute, compared to the multi-hour wait time for free users.
      • Expanded Trophy Cabinet: Display up to 10 games on your profile's showcase cabinet (free users are limited to 3).
      • Ad-Free Browsing: Removes all advertisements across the main site and forums for a cleaner, faster interface.
      • Profile Customization: Access to a custom background image, profile music, and the ability to change your forum username.
      • Social & Forum Perks: Access to a private "Premium Members" forum, the ability to give more "reputation" points daily, and specialized forum badges.
      • Automatic Updates: Your profile will automatically refresh even when you aren't logged into the site (every 6 hours).
  • Join the PSNProfiles community today: https://psnprofiles.com/account/create
  • hoff_jager PSN Gamer Profile - https://psnprofiles.com/hoff_jager

Database Setup

SQL Statements

The sub-repository: playstation/statements, contains the following SQL files with queries created in relation to database design & management:

CREATE DATABASE & TABLES
CREATE DATABASE psdb  

This creates the database named psdb.

CREATE TABLE dates, finances, origins, platinums, trophies  

This creates the tables named Dates, Finances, Origins, Platinums and Trophies.

INSERT INTO

INSERT INTO Dates.sql

INSERT INTO dates  
(game, console, release_date, purchase_date, start_date, finish_date)  
VALUES  
('Stick it to the Man','PS3','2013-11-19','2026-03-26','2026-03-26','2026-03-26')  

INSERT INTO Finances.sql

INSERT INTO finances  
(game, console, full_price, paid_price, savings, hours, value)
VALUES  
('Stick it to the Man','PS3',7.99,3.99,4.00,1,3.99)  

INSERT INTO Origins.sql

INSERT INTO origins  
(game, console, developer, country)  
VALUES  
('Stick it to the Man','PS3','Zoink Games','Sweden')  

INSERT INTO Platinums.sql

INSERT INTO platinums  
(game, console, completion_date, rarity)  
VALUES  
('Yakuza 6: The Song of Life','PS4','2026-03-21',3.5)  

INSERT INTO Trophies.sql

INSERT INTO trophies  
(year, platinum, gold, silver, bronze)  
VALUES  
(2026,0,0,0,0)  
  • These SQL files contain all info for data entry into each table.
SELECT

SELECT FROM All.sql

SELECT d.id, d.game, d.console,
d.release_date, d.purchase_date, d.start_date, d.finish_date,
f.full_price, f.paid_price, f.savings, f.hours, f.value,
o.developer, o.country
FROM finances f
JOIN dates d ON d.id = f.id
JOIN origins o ON o.id = f.id

SELECT FROM Dates.sql

SELECT * FROM dates  

SELECT FROM Finances.sql

SELECT * FROM finances

SELECT FROM Origins.sql

SELECT * FROM origins  

SELECT FROM Platinums & Trophies.sql

SELECT * FROM platinums  
SELECT * FROM trophies  
  • These SQL files select specific data from the tables.
  • The results are then output & saved in XLSX format.
UPDATE

UPDATE Dates.sql

UPDATE dates SET start_date = REPLACE(start_date,'2026-01-05','2026-02-01')
WHERE id = 1105
UPDATE dates SET finish_date = REPLACE(finish_date,'2026-01-05','2026-02-07')
WHERE id = 1105

UPDATE Finances.sql

UPDATE finances SET hours = REPLACE(hours, 1, 22) WHERE id = 1105
UPDATE finances SET value = REPLACE(value, 3.30, 0.15) WHERE id = 1105

UPDATE Origins.sql

UPDATE origins SET developer = REPLACE(developer,'Delphine Software International (DSI Interplay)','Delphine Software International') WHERE ID = 185  

UPDATE Platinums.sql

UPDATE platinums SET rarity = REPLACE(rarity, 17.5, 17.6) WHERE ID = 1

UPDATE Trophies.sql

UPDATE trophies SET platinum = REPLACE(platinum, 3, 4) WHERE ID = 18
UPDATE trophies SET gold = REPLACE(gold, 21, 27) WHERE ID = 18
UPDATE trophies SET silver = REPLACE(silver, 17, 27) WHERE ID = 18
UPDATE trophies SET bronze = REPLACE(bronze, 61, 134) WHERE ID = 18	
  • These SQL files update values within the tables, such as correcting typos & numerical errors (misspelling of developers or prices).

SQL Output to XLSX and PBIX

The sub-repository: playstation/output, contains the following XLSX file with tabs, along with a PBIX file for further data visualisations:

1: wishlist

This tab stores a number of video games that have/haven’t been released and/or purchased, with the following fields to export to the other tabs in the all_data_MASTER XLSX file:

  • ID, Game, Console,
  • Release_Date, Purchase_Date, Start_Date, Finish_Date,
  • Full_Price, Paid_Price, Savings, Hours, Value,
  • Developer, Country

2: complete

SELECT d.id, d.game, d.console,  
d.release_date, d.purchase_date, d.start_date, d.finish_date,  
f.full_price, f.paid_price, f.savings, f.hours, f.value,  
o.developer, o.country  
FROM finances f  
JOIN dates d ON d.id = f.id  
JOIN origins o ON o.id = f.id  

3: dates

SELECT * FROM dates  
ORDER BY release_date, purchase_date ASC  

SELECT * FROM dates  
WHERE YEAR(release_date) BETWEEN 2020 AND 2026  
ORDER BY release_date, purchase_date ASC  

SELECT YEAR(release_date) AS Year,  
COUNT(*) AS ‘Games’ FROM dates  
WHERE YEAR(release_date) BETWEEN 2020 AND 2026
GROUP BY YEAR(release_date)
ORDER BY Year ASC

SELECT FLOOR(YEAR(release_date) / 10) * 10) AS Decade,  
COUNT(*) AS ‘Games’ FROM dates  
WHERE YEAR(release_date) >= 1990  
GROUP BY FLOOR(YEAR(release_date) / 10) * 10)  
ORDER BY Decade ASC  

SELECT console, COUNT(*) AS ‘Games’  
FROM origins  
GROUP BY console  
ORDER BY COUNT(*) DESC  

The total number of video games released per year & per decade:

Chart Alt Text

Chart Alt Text

  • The collection consists of a total of 1,178 games, with release dates dating back to 1995.
    • The majority of video games in the collection were released in the 2010’s and 2020’s.
      • Both decades account for 80% (946/1,178; 4/5) of the collection:
        • The 2010’s account for 53% (624/1,178).
        • The 2020’s account for 27% (322/1,178).
  • All video games have been sorted by the earliest release dates, followed by the earliest purchase dates.

The total number of console generations in the collection, along with the number of games per console:

Chart Alt Text

Chart Alt Text

  • The collection consists of a total of 1,178 games, across 8 distinct PlayStation consoles:
    • PS1, PS2, PSP, PS3, VITA, PS4, PSVR, PS5
pre-orders
SELECT * FROM dates  
WHERE purchase_date < release_date  
ORDER BY release_date DESC  
  • There are 22 instances of pre-orders in the video game collection, beginning in 2017.
  • The pre-orders have been sorted by the most recent release dates in descending order.

4: finances

SELECT * FROM finances  

SELECT COUNT(id) AS ‘Total Number of Games’,  
SUM(full_price) AS ‘Total Full Price’,  
SUM(paid_price) AS ‘Total Paid Price’,  
SUM(savings) AS ‘Total Savings’,  
SUM(hours) AS ‘Total Hours Played’  
FROM finances  

SELECT ROUND(AVG(full_price), 2) AS ‘Average Full Price’,  
ROUND(AVG(paid_price), 2) AS ‘Average Paid Price’,  
ROUND(AVG(savings), 2) AS ‘Average Savings’,  
AVG(hours) AS ‘Average Hours Played’  
FROM finances  
Total Number of Games Total Full Price Total Paid Price Total Savings Total Hours Played
1178 €28,495.96 €11,373.49 €17,122.47 17249
Average Full Price Average Paid Price Average Savings Average Hours Played
€24.19 €9.65 €14.54 15
  • The entire collection would have cost €28,495.96 at full price.

  • Thanks to sales, gifts and the PlayStation Plus Essential subscription service, the collection cost €11,373.49.

  • This resulted in savings of €17,122.47 (60% of the full price).

  • The average full price per game would work out at €24.19.

  • The average paid price per game is €9.65.

  • This resulted in average savings of €14.54 per game.

  • The average number of hours played per game is 15 hours.

  • SELECT YEAR(purchase_date) AS Year, COUNT(*) AS ‘Games’,
    SUM(full_price) AS ‘Full Price’,
    SUM(paid_price) AS ‘Paid Price’,
    SUM(savings) AS ‘Savings’
    FROM finances f
    JOIN dates d ON d.id = f.id
    WHERE YEAR(purchase_date) BETWEEN 2009 AND 2026
    GROUP BY YEAR(purchase_date)
    ORDER BY Year ASC

Chart Alt Text

Year Full_Price Paid_Price Savings
2009 (5) €82.11 €49.64 €32.47
2010 (20) €362.32 €236.91 €125.41
2011 (19) €266.49 €143.03 €123.46
2012 (9) €168.86 €153.86 €15.00
2013 (42) €932.19 €571.73 €360.46
2014 (24) €398.80 €275.85 €122.95
2015 (55) €901.56 €565.55 €336.01
2016 (44) €711.11 €403.71 €307.40
2017 (185) €3,710.72 €2,088.04 €1,622.68
2018 (67) €1,304.34 €825.77 €478.57
2019 (116) €3,015.31 €1,571.12 €1,444.19
2020 (75) €1,877.80 €687.66 €1,190.14
2021 (160) €3,614.63 €1,376.56 €2,238.07
2022 (95) €3,072.60 €942.84 €2,129.76
2023 (79) €2,779.19 €427.65 €2,351.54
2024 (51) €2,126.44 €473.83 €1,652.61
2025 (57) €1,053.61 €223.79 €829.82
2026 (75) €2,117.88 €486.93 €1,630.95
  • The years 2017 - 2026 account for savings of €15,568.33 (91% of the total savings).
  • The majority of games in the collection were purchased from 2017 onwards, resulting in higher full prices & paid prices, but also resulting in higher savings, compared to pre-2017.
SELECT DATENAME(MONTH, d.purchase_date) AS ‘Month’,  
COUNT(*) AS ‘Games’,  
SUM(full_price) AS ‘Full Price’,  
SUM(paid_price) AS ‘Paid Price’,  
SUM(savings) AS ‘Savings’  
FROM finances f  
JOIN dates d ON d.id = f.id  
GROUP BY MONTH(d.purchase_date), DATENAME(MONTH, d.purchase_date)  
ORDER BY MONTH(d.purchase_date) ASC  

SELECT MONTH(d.purchase_date) AS 'Month',  
d.id, d.game, d.console, d.purchase_date,  
f.full_price, f.paid_price, f.savings  
FROM finances f  
JOIN dates d ON d.id = f.id  
-- WHERE MONTH(d.purchase_date) = ‘1’  
ORDER BY MONTH(d.purchase_date), d.purchase_date ASC  

Chart Alt Text

Month Full Price Paid Price Savings
January (102) €2,471.63 €1,084.44 €1,387.19
February (82) €1,964.64 €662.02 €1,302.62
March (112) €2,768.05 €793.49 €1,974.56
April (86) €1,749.34 €889.36 €859.98
May (134) €2,748.53 €1,041.38 €1,707.15
June (55) €1,520.16 €761.12 €759.04
July (69) €1,457.41 €550.17 €907.24
August (111) €2,225.97 €923.27 €1,302.70
September (131) €3,355.50 €920.83 €2,434.67
October (108) €2,345.94 €1,120.54 €1,225.40
November (80) €2,200.56 €1,028.63 €1,171.93
December (108) €3,688.23 €1,729.22 €1,959.01
  • May & September saw the most game purchases & most savings, September coinciding with my birthday month.
  • December & January were also busy months, as a result of the Christmas season with gifts received, along with the January sales for the best deals to redeem via the gifts.
SELECT r.price_range,  
SUM(CASE WHEN full_price >= r.low AND full_price <= r.high THEN 1 ELSE 0 END) AS ‘Full Price’,  
SUM(CASE WHEN paid_price >= r.low AND paid_price <= r.high THEN 1 ELSE 0 END) AS ‘Paid Price’,  
SUM(CASE WHEN savings >= r.low AND savings <= r.high THEN 1 ELSE 0 END) AS ‘Savings’  
FROM  
(  
	VALUES  
		(1, '< €0.01', -99999, 0.009),  
		(2, '€0.01 - €9.99', 0.01, 9.99),  
		(3, '€10.00 - €19.99', 10.00, 19.99),  
		(4, '€20.00 - €29.99', 20.00, 29.99),  
		(5, '€30.00 - €39.99', 30.00, 39.99),  
		(6, '€40.00 - €49.99', 40.00, 49.99),  
		(7, '€50.00 - €59.99', 50.00, 59.99),  
		(8, '€60.00 - €69.99', 60.00, 69.99),  
		(9, '€70.00 - €79.99', 70.00, 79.99),  
		(10, '> €79.99', 80.00, 99999)  
)  
	AS r(sort_order, price_range, low, high)  
	LEFT JOIN finances f ON 1 = 1  
	GROUP BY price_range, sort_order  
	ORDER BY sort_order  

WITH Ranges AS  
(  
	SELECT * FROM  
	(  
		VALUES  
			(1, '< €0.01', -99999, 0.009),  
			(2, '€0.01 - €9.99', 0.01, 9.99),  
			(3, '€10.00 - €19.99', 10.00, 19.99),  
			(4, '€20.00 - €29.99', 20.00, 29.99),  
			(5, '€30.00 - €39.99', 30.00, 39.99),  
			(6, '€40.00 - €49.99', 40.00, 49.99),  
			(7, '€50.00 - €59.99', 50.00, 59.99),  
			(8, '€60.00 - €69.99', 60.00, 69.99),  
			(9, '€70.00 - €79.99', 70.00, 79.99),  
			(10, '> €79.99', 80.00, 99999)  
	)  
		AS r(sort_order, price_range, low, high)
)  
SELECT * FROM  
(  
	SELECT r.price_range, 'Full Price' AS metric_type,  
	f.id, f.game, f.console,  
	f.full_price, f.paid_price, f.savings,  
	f.full_price AS sort_price  
	FROM Ranges r  
	JOIN finances f ON f.full_price BETWEEN r.low AND r.high  
	
	UNION ALL  

	SELECT r.price_range, 'Paid Price' AS metric_type,  
	f.id, f.game, f.console,  
	f.full_price, f.paid_price, f.savings,  
	f.paid_price AS sort_price  
	FROM Ranges r  
	JOIN finances f ON f.paid_price BETWEEN r.low AND r.high  

	UNION ALL  

	SELECT r.price_range, 'Savings' AS metric_type,  
	f.id, f.game, f.console,  
	f.full_price, f.paid_price, f.savings,  
	f.savings AS sort_price  
	FROM Ranges r  
	JOIN finances f ON f.savings BETWEEN r.low AND r.high  
)
	AS combined_results  
	ORDER BY price_range, metric_type, sort_price ASC  

The total numbers of video games purchased, with a range of different prices (from < €0.01, to €0.01 - €9.99, and over €79.99), outlining the values of full price, paid price and savings upon purchasing.

Chart Alt Text

Price Range Full_Price Paid_Price Savings
< €0.01 22 219 245
€0.01 - €9.99 313 637 373
€10.00 - €19.99 431 212 300
€20.00 - €29.99 180 55 100
€30.00 - €39.99 75 24 61
€40.00 - €49.99 29 15 29
€50.00 - €59.99 38 8 22
€60.00 - €69.99 50 2 33
€70.00 - €79.99 24 2 12
> €79.99 16 4 3
  • There are a total of 219 games purchased via birthday or Christmas gifts, along with the PlayStation Plus Essential subscription service, since 2013.

  • Savings compared to the full price came to €6,657.65 (average of €30.40 per game).

    • These savings account for approximately 39% of the total savings.
  • Many video games cost no higher than €39.99 to purchase at full price:

    • 1,021 games (22 + 313 + 431 + 180 + 75), 87% of the collection.
  • Many video games were purchased for no higher than €29.99:

    • 1,097 games (219 + 637 + 212 + 55), 95% of the collection.
  • Purchasing video games resulted in savings of between €0.01 to €39.99:

    • 817 games (373 + 300 + 100 + 61), 71% of the collection.
SELECT * FROM finances  
ORDER BY hours DESC, value ASC, savings DESC  

SELECT d.id, d.game, d.console, d.purchase_date,  
f.full_price, f.paid_price, f.savings  
FROM finances f  
JOIN dates d ON d.id = f.id  
WHERE f.paid_price = 0  
ORDER BY d.purchase_date ASC  

SELECT * FROM finances WHERE value = 0.00  
ORDER BY hours DESC, savings DESC  

SELECT * FROM finances  
WHERE game LIKE (‘Yakuza%’)  
OR game LIKE (‘Like a Dragon%’)  
OR game LIKE (‘%Judgment%’)  
ORDER BY hours DESC  

Chart Alt Text

  • A total of 2,022 hours were spent on the Top 10 games in the collection:

    • The Top 10 accounts for 12% (2,022/17,249) of the total hours played in the collection.
  • There are a total of 863 hours spent playing the Top 10 free games in the collection.

  • A total of 2,028 hours were spent across all 15 games in the Yakuza/Like a Dragon/Judgment series, developed by SEGA and Ryu Ga Gotoku Studio.

  • The following ranking system is in place in the XLSX file:

      Bracket: Hours Played  
      	The Top 100  
      		Gold Tier: Top 10; 154 - 274  
      		Silver Tier: 11th - 55th; 69 - 153  
      		Bronze Tier: 56th - 100th; 48 - 68  
      	Class I  
      		101st - 400th; 10 - 47  
      	Class II  
      		401st - 700th; 1 - 9  
      	Class III  
      		701st - 1,000th; 1  
      	Class RED  
      		1,001st - 1,178th; 1  
    
  • All video games in the finances XLSX tab are sorted by hours played in descending order:

    • In the event of games being equal in hours played, they are then sorted by value for money:
      • Value for money is a metric calculated by dividing the paid price by the hours played, to yield the cost per hour played.
      • So the lower the value for money, the higher those games are in the rankings.
    • In the event of games also equal in value for money, they are then sorted by savings:
      • So the higher the savings, the higher those games are in the ranking.
WITH HourGroups AS  
(  
	SELECT id, hours,  
		CASE  
			WHEN hours > 100 THEN '> 100'  
			WHEN hours BETWEEN 91 AND 100 THEN '91 - 100'  
			WHEN hours BETWEEN 81 AND 90 THEN '81 - 90'  
			WHEN hours BETWEEN 71 AND 80 THEN '71 - 80'  
			WHEN hours BETWEEN 61 AND 70 THEN '61 - 70'  
			WHEN hours BETWEEN 51 AND 60 THEN '51 - 60'  
			WHEN hours BETWEEN 41 AND 50 THEN '41 - 50'  
			WHEN hours BETWEEN 31 AND 40 THEN '31 - 40'  
			WHEN hours BETWEEN 21 AND 30 THEN '21 - 30'  
			WHEN hours BETWEEN 11 AND 20 THEN '11 - 20'  
			WHEN hours BETWEEN 2 AND 10 THEN '2 - 10'  
			WHEN hours = 1 THEN '1'  
			ELSE '< 1'  
		END  
	AS Hour_Range  
	FROM finances  
)  
SELECT Hour_Range, COUNT(id) AS Games  
FROM HourGroups  
GROUP BY Hour_Range  
ORDER BY MIN(hours) DESC  

Chart Alt Text

  • Many video games have yet to be played (465 games recorded at 1 hour).
    • Unplayed games account for 39% (465/1,178; 2/5) of the collection.
  • Many video games were played briefly (348 games recorded between 2 to 10 hours).
    • These 813 games account for 69% (813/1,178; 2/3) of the collection.
  • There is a trend where there are a lower number of games with more hours played through each ascending range of values:
    • 129 between 11 to 20 hours, 81 between 21 to 30 hours, etc.

5: origins

SELECT DISTINCT country  
FROM origins  
ORDER BY country  

SELECT DISTINCT developer, country  
FROM origins  
ORDER BY country, developer  
  • There are 584 distinct video game developers from 51 distinct countries.

  • SELECT o.country AS 'Country',
    COUNT(f.id) AS 'Games',
    COUNT(DISTINCT o.developer) AS 'Developers',
    SUM(f.full_price) AS ‘Full Price’,
    SUM(f.paid_price) AS ‘Paid Price’,
    SUM(f.savings) AS ‘Savings’,
    SUM(f.hours) AS ‘Hours’,
    ROUND(SUM(f.paid_price) / NULLIF(SUM(f.hours), 0), 2) AS ‘Value’
    FROM origins o
    JOIN finances f ON o.id = f.id
    GROUP BY o.country
    ORDER BY SUM(f.hours) DESC,
    [Value] ASC,
    SUM(f.savings) DESC

  • The charts & table below have a ranking system for all distinct countries:

    • In the event of countries being equal in hours played, they are then sorted by value for money:
      • Value for money is a metric calculated by dividing the paid price by the hours played, to yield the cost per hour played.
      • So the lower the value for money, the higher those countries are in the rankings.
    • In the event of countries also equal in value for money, they are then sorted by savings:
      • So the higher the savings, the higher those games are in the ranking.

Chart Alt Text

Country Games Developers Full_Price Paid_Price Savings Hours Value
USA 317 160 €8,466.55 €3,842.25 €4,624.30 6114 €0.63
Japan 263 52 €5,465.03 €2,380.81 €3,084.22 4051 €0.59
Canada 98 49 €3,399.76 €1,095.22 €2,304.54 2005 €0.55
England 194 96 €4,142.90 €1,510.58 €2,632.32 1941 €0.78
Scotland 10 5 €267.92 €129.43 €138.49 549 €0.24
France 39 26 €874.09 €315.59 €558.50 462 €0.68
Australia 24 21 €584.31 €228.23 €356.08 315 €0.72
Sweden 42 27 €1,067.80 €254.53 €813.27 224 €1.14
Germany 19 17 €451.81 €231.31 €220.50 214 €1.08
Poland 18 16 €484.82 €175.77 €309.05 207 €0.85
Netherlands 11 7 €280.38 €137.74 €142.64 201 €0.69
Republic of Ireland 4 3 €105.95 €47.05 €58.90 154 €0.31
Finland 18 9 €461.81 €218.33 €243.48 115 €1.90
Italy 9 6 €194.91 €36.93 €157.98 76 €0.49
China 7 7 €126.94 €49.00 €77.94 71 €0.69
Czechia 6 6 €126.94 €64.95 €61.99 68 €0.96
Indonesia 3 2 €53.97 €24.48 €29.49 51 €0.48
Spain 13 12 €217.87 €75.74 €142.13 48 €1.58
Northern Ireland 2 1 €54.98 €35.43 €19.55 42 €0.84
Austria 5 3 €149.95 €79.95 €70.00 40 €2.00
Singapore 5 3 €77.95 €24.45 €53.50 39 €0.63
Bulgaria 1 1 €24.99 €9.99 €15.00 28 €0.36
Denmark 11 8 €286.88 €30.96 €255.92 27 €1.15
Norway 3 1 €45.97 €6.58 €39.39 24 €0.27
Taiwan 2 2 €43.98 €0.00 €43.98 22 €0.00
Korea Republic 2 2 €66.97 €12.98 €53.99 21 €0.62
South Africa 2 1 €34.98 €4.99 €29.99 20 €0.25
Peru 2 1 €69.98 €21.48 €48.50 17 €1.26
Ukraine 6 3 €167.95 €69.95 €98.00 17 €4.11
Russia 7 7 €61.93 €30.59 €31.34 14 €2.19
Lithuania 2 2 €29.98 €13.73 €16.25 9 €1.53
Wales 4 2 €52.98 €27.48 €25.50 9 €3.05
Colombia 2 2 €47.98 €6.98 €41.00 7 €1.00
Croatia 5 2 €74.97 €16.47 €58.50 7 €2.35
Hungary 2 2 €29.98 €23.98 €6.00 6 €4.00
Portugal 2 2 €28.98 €15.98 €13.00 5 €3.20
Thailand 1 1 €19.99 €0.00 €19.99 4 €0.00
Brazil 2 2 €30.98 €13.48 €17.50 4 €3.37
Israel 1 1 €4.99 €0.00 €4.99 3 €0.00
Luxembourg 1 1 €9.99 €6.99 €3.00 3 €2.33
El Salvador 1 1 €1.99 €1.99 €0.00 2 €1.00
Belarus 2 2 €39.98 €10.98 €29.00 2 €5.49
Mexico 1 1 €39.99 €19.99 €20.00 2 €10.00
Estonia 1 1 €39.99 €0.00 €39.99 1 €0.00
Switzerland 2 2 €53.98 €9.09 €44.89 2 €4.55
Slovenia 1 1 €9.99 €4.99 €5.00 1 €4.99
Nigeria 1 1 €14.49 €6.51 €7.98 1 €6.51
Romania 1 1 €19.99 €6.99 €13.00 1 €6.99
Iceland 1 1 €29.99 €10.99 €19.00 1 €10.99
Belgium 1 1 €14.49 €11.59 €2.90 1 €11.59
New Zealand 1 1 €39.99 €19.99 €20.00 1 €19.99

Chart Alt Text

  • The Top 4 countries, USA, Japan, Canada and England, account for 85% (872/1,024) of the total number of games from the Top 10 countries:

    • USA: 317 games from 160 developers
    • Japan: 263 games from 52 developers
    • Canada: 98 games from 49 developers
    • England: 194 games from 96 developers
  • The Top 10 countries account for 87% (1,024/1,178) of the entire game collection.

SELECT o.developer AS 'Developer',  
o.country AS 'Country',  
COUNT(f.id) AS 'Games',  
SUM(f.full_price) AS ‘Full Price’,  
SUM(f.paid_price) AS ‘Paid Price’,  
SUM(f.savings) AS ‘Savings’,  
SUM(f.hours) AS ‘Hours’,  
ROUND(SUM(f.paid_price) / NULLIF(SUM(f.hours), 0), 2) AS ‘Value’  
FROM origins o  
JOIN finances f ON o.id = f.id  
GROUP BY o.developer, o.country  
ORDER BY SUM(f.hours) DESC,  
[Value] ASC,  
SUM(f.savings) DESC  
  • The charts & table below have a ranking system for all distinct developers:
    • In the event of developers being equal in hours played, they are then sorted by value for money:
      • Value for money is a metric calculated by dividing the paid price by the hours played, to yield the cost per hour played.
      • So the lower the value for money, the higher those developers are in the rankings.
    • In the event of developers also equal in value for money, they are then sorted by savings:
      • So the higher the savings, the higher those games are in the ranking.
    • In the event of developers also equal in savings, they are then sorted by the country's ranking:
      • For example, USA would outrank any country in the event of a tie-break.
        • They have the most hours played in the collection, based on the previous c_finances and c_chart tabs.

Chart Alt Text

Developer Country Games Full_Price Paid_Price Savings Hours Value
Ryu Ga Gotoku Studio Japan 12 €568.21 €182.62 €385.59 1637 €0.11
Naughty Dog USA 15 €385.30 €240.31 €144.99 890 €0.27
Insomniac Games USA 18 €489.86 €133.42 €356.44 853 €0.16
SEGA Japan 20 €306.53 €96.17 €210.36 507 €0.19
Rockstar North Scotland 6 €218.95 €120.95 €98.00 480 €0.25
Ubisoft Montreal Canada 15 €544.86 €238.37 €306.49 478 €0.50
Gearbox Software USA 7 €459.92 €322.93 €136.99 464 €0.70
Sucker Punch Productions USA 9 €189.94 €97.65 €92.29 433 €0.23
Capcom Japan 72 €944.67 €459.98 €484.69 417 €1.10
Deep Silver Volition USA 5 €179.93 €55.46 €124.47 340 €0.16

Chart Alt Text

  • The Top 3 developers, Ryu Ga Gotoku Studio, Naughty Dog and Insomniac Games, account for 52% (3,380/6,499) of the total number of hours played from the Top 10 developers:

    • Ryu Ga Gotoku Studio: 1,637 hours played from 12 games
    • Naughty Dog: 890 hours played from 15 games
    • Insomniac Games: 853 hours played from 18 games
  • The Top 10 developers account for 38% (6,499/17,249) of the total hours played in the game collection.

  • FURTHER DATA ANALYSIS OF COUNTRIES & DEVELOPERS TBC:

    • How many games were developed by AAA, SME or Indie developers?
      • Research developers & available resources to determine if AAA, SME or Indie.
    • Discuss my personal favourite games based on XLSX charts.

6: platinums

SELECT * FROM platinums  

SELECT * FROM platinums ORDER BY rarity ASC  

SELECT YEAR(completion_date) AS [Year],  
COUNT(id) AS [Platinums Earned],  
SUM(rarity) AS [Totals],  
CAST(AVG(rarity) AS DECIMAL(10,2)) AS [Average %]  
FROM platinums  
GROUP BY YEAR(completion_date)  
ORDER BY [Year]  

Chart Alt Text

  • There have been 224 platinum trophies earned, since the 1st platinum trophy achieved in 2012.
    • The lower the percentage, the more challenging the game was to fully complete.
    • The total and the average values were calculated for platinum rarity percentages per year:
      • This is to gauge the average platinum rarity percentages.
      • The lower the annual average, the higher it will stand in the overall trophy rankings, outlined in the next section.

7: trophies

SELECT * FROM trophies ORDER BY id ASC  

Chart Alt Text

Year Platinum Gold Silver Bronze Year Platinum Gold Silver Bronze
2009 0 2 5 33 2009 0 2 5 33
2010 0 6 24 152 2010 0 4 19 119
2011 0 8 39 239 2011 0 2 15 87
2012 1 16 83 385 2012 1 8 44 146
2013 1 26 120 639 2013 0 10 37 254
2014 1 40 169 875 2014 0 14 49 236
2015 3 69 245 1219 2015 2 29 76 344
2016 4 75 282 1320 2016 1 6 37 101
2017 6 120 414 1759 2017 2 45 132 439
2018 14 172 560 2237 2018 8 52 146 478
2019 14 205 666 2794 2019 0 33 106 557
2020 38 329 1019 3862 2020 24 124 353 1068
2021 75 569 1497 5215 2021 37 240 478 1353
2022 114 839 2051 7030 2022 39 270 554 1815
2023 146 1006 2471 8549 2023 32 167 420 1519
2024 183 1166 2828 9653 2024 37 160 357 1104
2025 212 1329 3183 10675 2025 29 163 355 1022
2026 224 1390 3259 10908 2026 12 61 76 233
  • The years 2020 to 2026 have the most trophies earned, mainly due to the COVID-19 Pandemic lockdowns.

  • Also, this began a more consistent strategy to get the most out of playing all video games via the trophy system.

  • Before COVID, there were far less trophies earned, as I was less aware of the trophy system, that can help to get the most out of video games, and to not miss anything fun/challenging to do.

  • From the previous platinums section, this ties in with the following ranking table of trophies earned per year:

    • The total and the average values were calculated for platinum rarity percentages per year:
    • This is to gauge the average platinum rarity percentages.
    • The lower the annual average, the higher it will stand in the overall trophy rankings.
      • Platinum, Gold, Silver and Bronze trophies are earned from playing video games and completing achievements of various difficulty.
      • For example, 2025 is considered to be the best year of gaming for me:
        • 29 Platinum trophies were earned, with an average platinum rarity of 4.65%.
          • Although 37 Platinum trophies were earned in 2024, the average platinum rarity was 5.28%.
          • The Platinums earned in 2025 were considered to be tougher to achieve than the Platinums earned in 2024.
        • 163 Gold, 355 Silver, and 1,022 Bronze trophies were also earned in 2025.
          • This set of values is close to what was earned in 2024 and 2020.
          • From 2021 to 2023, the Gold, Silver and Bronze totals far exceed what was earned in 2020 and 2024.
            • Despite the increased numbers, these are only compared with years where the Platinum trophy hauls are equal, or close to being equal.
              • For example, the current year 2026 (currently ranked 8th) is compared to 2018 (7th) and 2017 (9th).
              • The numbers from all trophies in 2026 suggest that 2026 deserves to be between 2018 and 2017.
  • The following trophy ranking system is in place in the XLSX file:

Rank Year Average %
1st 2025 4.65%, 29,163,355,1022
2nd 2024 5.28%, 37,160,357,1104
3rd 2020 7.23%, 24,124,353,1068
4th 2022 11.9%, 39,270,554,1815
5th 2021 15.4%, 37,240,478,1353
6th 2023 16.51%, 32,167,420,1519
7th 2026* 7.25%, 12,61,76,233
8th 2018 8.94%, 8,52,146,478
9th 2017 16.9%, 2,45,132,439
10th 2015 25%, 2,29,76,344
11th 2012 17.6%, 1,8,44,146
12th 2016 45.7%, 1,6,37,101
13th 2019 33,106,557
14th 2014 14,49,236
15th 2013 10,37,254
16th 2010 4,19,119
17th 2011 2,15,87
18th 2009 2,5,33

Fin

About

SQL Databases of PlayStation Video Games

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors