Changeset - 19978bbb3d69
[Not reviewed]
default
0 1 0
Laman - 7 years ago 2018-05-14 15:07:47

playerYear -> playerHistory
1 file changed with 12 insertions and 6 deletions:
0 comments (0 inline, 0 general)
queries.py
Show inline comments
 
@@ -7,22 +7,26 @@ cursor=connection.cursor()
 

	
 

	
 
def yearStart(year):
 
	return "{0}-01-01".format(year)
 

	
 

	
 
def playerYear(name,year):
 
	"""Výsledky hráče s daným jménem pro daný rok."""
 
def playerHistory(name,year=0):
 
	"""Výsledky hráče s daným jménem pro daný rok nebo pro celou historii."""
 
	query="""
 
		select name, datum, win_count, game_count, rating_after, rating_after-rating_before
 
			from players natural join players_performance as pp join tournaments as ts on pp.tournament_code=ts.code
 
			where name=? and datum>=date(?) and datum<date(?)
 
			order by datum asc
 
	"""
 
	date1=yearStart(year)
 
	date2=yearStart(year+1)
 
	if year:
 
		date1=yearStart(year)
 
		date2=yearStart(year+1)
 
	else:
 
		date1="1990-01-01"
 
		date2="2020-01-01"
 

	
 
	res=cursor.execute(query,(name,date1,date2))
 
	print("jméno\tdatum\tpočet výher\tpočet partií\trating po turnaji\tzměna")
 
	for rec in res:
 
		print("\t".join([str(x) for x in rec]))
 

	
 
@@ -61,13 +65,15 @@ def yearsByCountry(year1,year2):
 
	for countryCode in sorted(res.keys()):
 
		print(countryCode,end="\t")
 
		print("\t".join(str(res[countryCode].get(y,0)) for y in range(year1,year2)))
 

	
 

	
 
def timeRank(year,country):
 
	"""Výpis hráčů dané země aktivních v daném roce."""
 
	"""Výpis hráčů dané země aktivních v daném roce.
 

	
 
	Rating platí ke konci roku."""
 
	date1=yearStart(year)
 
	date2=yearStart(year+1)
 
	query="""
 
		select ppt.pin,date(?)-min_datum-1,min_datum,ppt.rating_after as rating,name
 
			from
 
				(select pin,min(datum) as min_datum,max(datum) as max_datum from players_performance_tournaments where datum<date(?) group by pin having max_datum>=date(?)) as subq
 
@@ -213,13 +219,13 @@ def timeToPeak():
 
	res=cursor.execute(query)
 
	print("pin\tmin rating\tmax rating\tprvní turnaj\tdosažení max ratingu\troky k max ratingu")
 
	for rec in res:
 
		print("\t".join([str(x) for x in rec]))
 

	
 

	
 
# playerYear("Kotowski Jaroslav",2017)
 
# playerHistory("Kotowski Jaroslav")
 
# timeRank(2017,"CZ")
 
# yearsByCountry(2001,2018)
 
# populationStrength(2001,2018,"RU")
 
# populationAge(2001,2018,"RU")
 
# tournamentAttendance(2001,2018)
 
# fetchByRating(2600,"CZ")
0 comments (0 inline, 0 general)