get_query_examples
Retrieve a collection of commonly used SQL query examples for analyzing Japanese horse racing data, enabling quick start without writing queries from scratch.
Instructions
クエリ例集を取得
Returns:
よく使うクエリのサンプル集Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/jvlink_mcp_server/server.py:213-220 (handler)MCP tool handler that exposes get_query_examples as an MCP tool, delegating to get_target_equivalent_query_examples()
@mcp.tool() def get_query_examples() -> dict: """クエリ例集を取得 Returns: よく使うクエリのサンプル集 """ return get_target_equivalent_query_examples() - Core data function that defines the query examples dictionary with 9 sample SQL queries for horse racing analysis
def get_query_examples(): return { "1番人気勝率": "SELECT COUNT(*) as total, SUM(CASE WHEN KakuteiJyuni = 1 THEN 1 ELSE 0 END) as wins FROM NL_SE WHERE Ninki = 1 AND KakuteiJyuni IS NOT NULL", "騎手成績": "SELECT KisyuRyakusyo, COUNT(*) as rides, SUM(CASE WHEN KakuteiJyuni = 1 THEN 1 ELSE 0 END) as wins FROM NL_SE WHERE KakuteiJyuni IS NOT NULL GROUP BY KisyuRyakusyo ORDER BY wins DESC LIMIT 20", "東京1番人気": "SELECT COUNT(*) as total, SUM(CASE WHEN KakuteiJyuni = 1 THEN 1 ELSE 0 END) as wins FROM NL_SE WHERE JyoCD = '05' AND Ninki = 1 AND KakuteiJyuni IS NOT NULL", "枠番別成績": "SELECT Wakuban, COUNT(*) as total, SUM(CASE WHEN KakuteiJyuni = 1 THEN 1 ELSE 0 END) as wins FROM NL_SE WHERE KakuteiJyuni IS NOT NULL GROUP BY Wakuban ORDER BY Wakuban", "種牡馬成績": "SELECT u.Ketto3InfoBamei1 as sire, COUNT(*) as runs, SUM(CASE WHEN s.KakuteiJyuni = 1 THEN 1 ELSE 0 END) as wins FROM NL_SE s JOIN NL_UM u ON s.KettoNum = u.KettoNum WHERE s.KakuteiJyuni IS NOT NULL GROUP BY u.Ketto3InfoBamei1 HAVING COUNT(*) >= 100 ORDER BY wins DESC LIMIT 20", "当日オッズ推移": "SELECT HassoTime, Umaban, TanOdds, TanNinki FROM TS_O1 WHERE Year = 2024 AND MonthDay = 1222 AND JyoCD = '06' AND RaceNum = 11 ORDER BY HassoTime, Umaban", "NAR大井1番人気": "SELECT COUNT(*) as total, SUM(CASE WHEN KakuteiJyuni = 1 THEN 1 ELSE 0 END) as wins FROM NL_SE_NAR WHERE JyoCD = '44' AND Ninki = 1 AND KakuteiJyuni IS NOT NULL", "NAR騎手成績": "SELECT KisyuRyakusyo, COUNT(*) as rides, SUM(CASE WHEN KakuteiJyuni = 1 THEN 1 ELSE 0 END) as wins FROM NL_SE_NAR WHERE KakuteiJyuni IS NOT NULL GROUP BY KisyuRyakusyo ORDER BY wins DESC LIMIT 20", "JRA_NAR横断1番人気": "SELECT CASE WHEN JyoCD <= '10' THEN 'JRA' ELSE 'NAR' END as org, COUNT(*) as total, SUM(CASE WHEN KakuteiJyuni = 1 THEN 1 ELSE 0 END) as wins FROM (SELECT JyoCD, Ninki, KakuteiJyuni FROM NL_SE WHERE Ninki = 1 AND KakuteiJyuni IS NOT NULL UNION ALL SELECT JyoCD, Ninki, KakuteiJyuni FROM NL_SE_NAR WHERE Ninki = 1 AND KakuteiJyuni IS NOT NULL) combined GROUP BY org", } - src/jvlink_mcp_server/server.py:213-220 (registration)The @mcp.tool() decorator registers this function as an MCP tool named 'get_query_examples'
@mcp.tool() def get_query_examples() -> dict: """クエリ例集を取得 Returns: よく使うクエリのサンプル集 """ return get_target_equivalent_query_examples() - Helper function that delegates to get_query_examples() - intermediary between the MCP tool handler and the core data function
def get_target_equivalent_query_examples(): return get_query_examples() - MCP resource that also exposes the same query examples via the 'examples://queries' resource URI
@mcp.resource("examples://queries") def query_examples_resource() -> str: """クエリ例集 よく使うクエリパターンをサンプルとして提供 """ examples = get_target_equivalent_query_examples() return json.dumps(examples, ensure_ascii=False, indent=2)