{"id":568,"date":"2021-09-28T00:00:00","date_gmt":"2021-09-27T15:00:00","guid":{"rendered":"https:\/\/www.tech-tips.takmaru.com\/?p=5413"},"modified":"2021-09-28T00:00:00","modified_gmt":"2021-09-27T15:00:00","slug":"sql-weekly-aggregation","status":"publish","type":"post","link":"https:\/\/www.tech-tips.takmaru.com\/?p=568","title":{"rendered":"\u9031\u5225\u96c6\u8a08\u3092SQL\u3067\u884c\u3046"},"content":{"rendered":"<p>\u65e5\u5225\u3001\u6708\u5225\u3001\u5e74\u5225\u306e\u96c6\u8a08\u306f\u7c21\u5358\u3067\u3059\u304c\u3001\u9031\u5225\u306b\u306a\u3063\u305f\u9014\u7aef\u306b\u300c\u3093\uff1f\u300d\u3068\u306a\u3063\u3066\u3057\u307e\u3063\u305f\u306e\u3067\u3001\u4eca\u56de\u306f\u9031\u5225\u96c6\u8a08\u3092SQL\u3067\u3084\u3063\u3066\u307f\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002SQL Server \u7248\u3001Oracle \u7248\u306e\u4e21\u65b9\u3067\u3084\u3063\u3066\u307f\u307e\u3059\u3002<\/p>\n<h2>\u3084\u308a\u305f\u3044\u3053\u3068<\/h2>\n<p>\u9031\u5358\u4f4d\u306e\u96c6\u8a08\u306b\u306f\uff12\u30d1\u30bf\u30fc\u30f3\u304c\u3042\u308b\u3068\u601d\u3044\u307e\u3059\u3002\u3072\u3068\u3064\u304c\u300c\u9031\u306e\u5148\u982d\u3092\u65e5\u66dc\u65e5\u3068\u3057\u305f\u9031\u5225\u306e\u96c6\u8a08\u300d\u3067\u3059\u3002\u3082\u3046\u3072\u3068\u3064\u304c\u300c\u6700\u7d42\u65e5\u304b\u3089\u6570\u3048\u3066\uff17\u65e5\u5358\u4f4d\u306e\u96c6\u8a08 \u300d\u3067\u3059\u3002<br \/>\n\u524d\u8005\u306f\u3001\u3053\u3093\u306a\u611f\u3058\u3067\u3059\u3002<\/p>\n<figure>\n<p><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.tech-tips.takmaru.com\/wp-content\/uploads\/2026\/03\/image-280-1.png\" \/><\/p><figcaption>\n<p>\u9031\u306e\u5148\u982d\u3092\u65e5\u66dc\u65e5\u3068\u3057\u305f\u9031\u5225\u306e\u96c6\u8a08<\/p>\n<\/figcaption><\/figure>\n<p><strong>\u65e5\u4ed8\u306f\u964d\u9806\u306b\u3057\u3066\u3044\u307e\u3059<\/strong>\u306e\u3067\u65e5\u66dc\u65e5\u304c\u6700\u5f8c\u306b\u898b\u3048\u307e\u3059\u304c\u3001\u65e5\u66dc\u65e5\u306f\u9031\u306e\u59cb\u3081\u3067\u3059\u3002<br \/>\n\u5f8c\u8005\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u3059\u3002<\/p>\n<figure>\n<p><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.tech-tips.takmaru.com\/wp-content\/uploads\/2026\/03\/image-281-1.png\" \/><\/p><figcaption>\n<p>\u6700\u7d42\u65e5\u304b\u3089\u6570\u3048\u3066\uff17\u65e5\u5358\u4f4d\u306e\u96c6\u8a08<\/p>\n<\/figcaption><\/figure>\n<p>\u76f4\u8fd1\uff11\u9031\u9593\uff08\u306e\u7e70\u308a\u8fd4\u3057\uff09\u3068\u3044\u3063\u305f\u30a4\u30e1\u30fc\u30b8\u3067\u3057\u3087\u3046\u304b\u3002\u9031\u5225\u3068\u3044\u3048\u3070\u524d\u8005\u306e\u65b9\u304c\u591a\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u306d\u3002<\/p>\n<h2>\u30c6\u30b9\u30c8\u30c7\u30fc\u30bf<\/h2>\n<p>\u30c6\u30b9\u30c8\u30c7\u30fc\u30bf\u3068\u3057\u3066\u306f\u524d\u9805\u306e\u30b5\u30f3\u30d7\u30eb\u3068\u540c\u3058\u5024\u3067\u30c6\u30fc\u30d6\u30eb\u300c\u96c6\u8a08\u30c6\u30b9\u30c8\u300d\u306b\u683c\u7d0d\u3057\u3066\u304a\u304d\u307e\u3059\u3002DDL\u306f\u7701\u7565\u3057\u307e\u3059\u304c\u3001\u9805\u76ee\u306f\u300c\u65e5\u4ed8\u300d\u300c\u6570\u91cf\u300d\u306e\u307f\u3067\u3059\u3002<\/p>\n<pre><code class=\"language-sql\">SELECT * FROM \u96c6\u8a08\u30c6\u30b9\u30c8 ORDER BY \u65e5\u4ed8 DESC\n<\/code><\/pre>\n<p>SQL Management Studio \u3067\u30c6\u30b9\u30c8\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3057\u305f\u7d50\u679c\u3067\u3059\u3002<\/p>\n<figure>\n<p><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.tech-tips.takmaru.com\/wp-content\/uploads\/2026\/03\/image-282-1.png\" \/><\/p><figcaption>\n<p>\u30c6\u30b9\u30c8\u30c7\u30fc\u30bf(SQL Server)<\/p>\n<\/figcaption><\/figure>\n<p>Oracle SQL Developer \u3067\u30c6\u30b9\u30c8\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3057\u305f\u7d50\u679c\u3067\u3059\u3002<\/p>\n<figure>\n<p><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.tech-tips.takmaru.com\/wp-content\/uploads\/2026\/03\/image-283-1.png\" \/><\/p><figcaption>\n<p>\u30c6\u30b9\u30c8\u30c7\u30fc\u30bf(Oracle)<\/p>\n<\/figcaption><\/figure>\n<h2>\u9031\u306e\u5148\u982d\u3092\u65e5\u66dc\u65e5\u3068\u3057\u305f\u9031\u5225\u306e\u96c6\u8a08<\/h2>\n<p>\u3053\u308c\u306f\u3001Google \u5148\u751f\u306b\u805e\u3044\u3066\u307f\u308b\u3068\u305f\u304f\u3055\u3093\u51fa\u3066\u304d\u307e\u3059\u3002\u66dc\u65e5\u3092\u8868\u3059\u6570\u5024\uff0d\uff11\uff08\u65e5\u66dc\u65e5\u3092\uff11\u3068\u3059\u308b\u5834\u5408\uff09\u3092\u8a72\u5f53\u3059\u308b\u65e5\u4ed8\u304b\u3089\u6e1b\u7b97\u3059\u308c\u3070\u3059\u3079\u3066\u65e5\u66dc\u65e5\u306e\u65e5\u4ed8\u306b\u306a\u308b\u3001\u3068\u3044\u3046\u6027\u8cea\u3092\u5229\u7528\u3059\u308b\u3082\u306e\u3067\u3059\u3002<\/p>\n<h3>SQL Server \u7248<\/h3>\n<p>SQL Server \u3067\u66dc\u65e5\u3092\u53d6\u5f97\u3059\u308b\u305f\u3081\u306b\u306f\u3001<a href=\"https:\/\/docs.microsoft.com\/ja-jp\/sql\/t-sql\/functions\/datepart-transact-sql?view=sql-server-ver15\">DATEPART \u95a2\u6570<\/a>\u3092\u5229\u7528\u3057\u307e\u3059\u3002\u7b2c\u4e00\u5f15\u6570\u306b weekday \u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u3067\u65e5\u66dc\u65e5\u30921\u3068\u3057\u305f\u9023\u756a\u3067\u66dc\u65e5\u304c\u53d6\u5f97\u3067\u304d\u307e\u3059\u3002\u5404\u65e5\u4ed8\u304b\u3089\u66dc\u65e5\uff0d\uff11\u3092\u6e1b\u7b97\u3059\u308c\u3070\u9031\u306e\u958b\u59cb\u65e5\uff08\u65e5\u66dc\u65e5\uff09\u306b\u306a\u308a\u307e\u3059\u3002\u65e5\u4ed8\u306e\u6e1b\u7b97\u306f\u3001<a href=\"https:\/\/docs.microsoft.com\/ja-jp\/sql\/t-sql\/functions\/dateadd-transact-sql?view=sql-server-ver15\">DATEADD \u95a2\u6570<\/a>\u3092\u5229\u7528\u3057\u307e\u3059\u3002<\/p>\n<pre><code class=\"language-sql\">WITH T AS (\n  SELECT DATEPART(WEEKDAY,\u65e5\u4ed8) \u66dc\u65e5, \u65e5\u4ed8, \u6570\u91cf FROM \u96c6\u8a08\u30c6\u30b9\u30c8\n)\nSELECT DATEADD(DAY,-(\u66dc\u65e5-1),\u65e5\u4ed8) \u9031\u958b\u59cb\u65e5,SUM(\u6570\u91cf) \u9031\u8a08\n  FROM T\n GROUP BY DATEADD(DAY,-(\u66dc\u65e5-1),\u65e5\u4ed8)\n ORDER BY DATEADD(DAY,-(\u66dc\u65e5-1),\u65e5\u4ed8) DESC\n<\/code><\/pre>\n<figure>\n<p><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.tech-tips.takmaru.com\/wp-content\/uploads\/2026\/03\/image-284-1.png\" \/><\/p><figcaption>\n<p>\u53d6\u5f97\u7d50\u679c\uff08SQL Server \u7248\uff09<\/p>\n<\/figcaption><\/figure>\n<h3>Oracle \u7248<\/h3>\n<p>\u8003\u3048\u65b9\u306f\u3001SQL Server \u7248\u3068\u540c\u3058\u3067\u3059\u3002\u66dc\u65e5\u3092\u53d6\u5f97\u3059\u308b\u306e\u306f\u3001<a href=\"https:\/\/docs.oracle.com\/cd\/F19136_01\/sqlrf\/TO_CHAR-datetime.html#GUID-0C3EEFD1-AE3D-452D-BF23-2FC95664E78F\">TO_DATE \u95a2\u6570<\/a>\u3092\u5229\u7528\u3057\u307e\u3059\u3002\u307e\u305f\u65e5\u4ed8\u306e\u52a0\u6e1b\u7b97\u306f Oracle \u306e\u5834\u5408\u306f\u305d\u306e\u307e\u307e\u52a0\u6e1b\u7b97\u3057\u307e\u3059\u3002<\/p>\n<pre><code class=\"language-sql\">WITH T AS (\n  SELECT TO_NUMBER(TO_CHAR(\u65e5\u4ed8,'D')) \u66dc\u65e5, \u65e5\u4ed8, \u6570\u91cf FROM \u96c6\u8a08\u30c6\u30b9\u30c8\n)\nSELECT \u65e5\u4ed8 - (\u66dc\u65e5-1) \u9031\u958b\u59cb\u65e5,SUM(\u6570\u91cf) \u9031\u8a08\n  FROM T\n GROUP BY \u65e5\u4ed8 - (\u66dc\u65e5-1)\n ORDER BY \u65e5\u4ed8 - (\u66dc\u65e5-1) DESC\n<\/code><\/pre>\n<figure>\n<p><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.tech-tips.takmaru.com\/wp-content\/uploads\/2026\/03\/image-285-1.png\" \/><\/p><figcaption>\n<p>\u5b9f\u884c\u7d50\u679c\uff08Oracle \u7248\uff09<\/p>\n<\/figcaption><\/figure>\n<h2>\u6700\u7d42\u65e5\u304b\u3089\u6570\u3048\u3066\uff17\u65e5\u5358\u4f4d\u306e\u96c6\u8a08<\/h2>\n<p>\u3053\u308c\u306f\u5c11\u3057\u5de5\u592b\u304c\u5fc5\u8981\u3067\u3059\u3002\u65e5\u4ed8\u306e\u964d\u9806\u3067\uff17\u65e5\u9593\u5358\u4f4d\u3067\u66dc\u65e5\u756a\u53f7\u306e\u3088\u3046\u306a\u76f8\u5bfe\u65e5\u6570\u3092\u53d6\u5f97\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u3007\u3007\u5358\u4f4d\u306e\u6570\u5b57\u3068\u3044\u3048\u3070\u5270\u4f59\u3067\u3059\u3002\u65e5\u4ed8\u306e\u964d\u9806\u3067\u5272\u308a\u632f\u3063\u305f\u9023\u756a\u3068\u5270\u4f59\u3092\u4f7f\u3048\u3070\u76f8\u5bfe\u65e5\u6570\u304c\u6c42\u3081\u3089\u308c\u307e\u3059\u3002<\/p>\n<h3>SQL Server \u7248<\/h3>\n<p>\u65e5\u4ed8\u306e\u964d\u9806\u306b\u4e26\u3079\u3066 <a href=\"https:\/\/docs.microsoft.com\/ja-jp\/sql\/t-sql\/functions\/row-number-transact-sql?view=sql-server-ver15\">ROW_NUMBER \u95a2\u6570<\/a>\u3092\u4f7f\u3063\u3066\uff10\u304b\u3089\u306e\u9023\u756a\u3092\u632f\u308a\u3001\uff17\u3067\u5272\u3063\u305f\u4f59\u308a\u304c\u66dc\u65e5\u756a\u53f7\u76f8\u5f53\u306e\u76f8\u5bfe\u65e5\u6570\u306b\u306a\u308a\u307e\u3059\u3002\u52ff\u8ad6\u3001\u65e5\u4ed8\u3092\u964d\u9806\u306b\u3057\u305f\u9023\u756a\u304b\u3089\u5c0e\u51fa\u3059\u308b\u306e\u3067\u524d\u9805\u306e\u66dc\u65e5\u756a\u53f7\u3068\u306f\u5168\u304f\u5225\u7269\u3067\u3059\u3002\u307e\u305f\u964d\u9806\u3067\u3042\u308b\u3053\u3068\u304b\u3089\u9031\u306e\u59cb\u3081\u306e\u65e5\u306f\u5270\u4f59\u3092\u300c\u52a0\u7b97\u300d\u3059\u308b\u3053\u3068\u3067\u6c42\u3081\u3089\u308c\u307e\u3059\u3002<\/p>\n<pre><code class=\"language-sql\">WITH T AS (\n  SELECT (ROW_NUMBER() OVER ( ORDER BY \u65e5\u4ed8 DESC ) - 1 ) % 7 AS \u76f8\u5bfe\u65e5\u6570\n       , \u65e5\u4ed8\n       , \u6570\u91cf\n    FROM \u96c6\u8a08\u30c6\u30b9\u30c8\n)\nSELECT DATEADD(DAY,\u76f8\u5bfe\u65e5\u6570,\u65e5\u4ed8) \u9031\u958b\u59cb\u65e5,SUM(\u6570\u91cf) \u9031\u8a08\n  FROM T\n GROUP BY DATEADD(DAY,\u76f8\u5bfe\u65e5\u6570,\u65e5\u4ed8)\n ORDER BY DATEADD(DAY,\u76f8\u5bfe\u65e5\u6570,\u65e5\u4ed8) DESC\n<\/code><\/pre>\n<figure>\n<p><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.tech-tips.takmaru.com\/wp-content\/uploads\/2026\/03\/image-286-1.png\" \/><\/p><figcaption>\n<p>\u5b9f\u884c\u7d50\u679c\uff08SQL Server \u7248\uff09<\/p>\n<\/figcaption><\/figure>\n<h3>Oracle \u7248<\/h3>\n<p>\u3053\u3061\u3089\u3082\u8003\u3048\u65b9\u306f\u540c\u3058\u3067\u3059\u3002<a href=\"https:\/\/docs.oracle.com\/cd\/F19136_01\/sqlrf\/ROW_NUMBER.html#GUID-D5A157F8-0F53-45BD-BF8C-AE79B1DB8C41\">ROW_NUMBER \u95a2\u6570<\/a>\u3067\uff10\u304b\u3089\u306e\u9023\u756a\u3092\u632f\u308a\u3001\uff17\u3067\u5272\u3063\u305f\u4f59\u308a\u3092\u5229\u7528\u3057\u307e\u3059\u3002Oracle \u306e\u5834\u5408\u306f\u5270\u4f59\u306f <a href=\"https:\/\/docs.oracle.com\/cd\/F19136_01\/sqlrf\/MOD.html#GUID-E12A3928-2C50-45B0-B8C3-82432C751B8C\">MOD \u95a2\u6570<\/a>\u3092\u5229\u7528\u3057\u307e\u3059\u3002<\/p>\n<pre><code class=\"language-sql\">WITH T AS (\n  SELECT MOD((ROW_NUMBER() OVER ( ORDER BY \u65e5\u4ed8 DESC ) - 1 ) , 7) AS \u76f8\u5bfe\u65e5\u6570\n       , \u65e5\u4ed8\n       , \u6570\u91cf\n   FROM \u96c6\u8a08\u30c6\u30b9\u30c8\n)\nSELECT \u65e5\u4ed8 + \u76f8\u5bfe\u65e5\u6570 \u9031\u958b\u59cb\u65e5,SUM(\u6570\u91cf) \u9031\u8a08\n  FROM T\n GROUP BY \u65e5\u4ed8 + \u76f8\u5bfe\u65e5\u6570\n ORDER BY \u65e5\u4ed8 + \u76f8\u5bfe\u65e5\u6570 DESC\n<\/code><\/pre>\n<figure>\n<p><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.tech-tips.takmaru.com\/wp-content\/uploads\/2026\/03\/image-287-1.png\" \/><\/p><figcaption>\n<p>\u5b9f\u884c\u7d50\u679c\uff08Oracle \u7248\uff09<\/p>\n<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>\u65e5\u5225\u3001\u6708\u5225\u3001\u5e74\u5225\u306e\u96c6\u8a08\u306f\u7c21\u5358\u3067\u3059\u304c\u3001\u9031\u5225\u306b\u306a\u3063\u305f\u9014\u7aef\u306b\u300c\u3093\uff1f\u300d\u3068\u306a\u3063\u3066\u3057\u307e\u3063\u305f\u306e\u3067\u3001\u4eca\u56de\u306f\u9031\u5225\u96c6\u8a08\u3092SQL\u3067\u3084\u3063\u3066\u307f\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002SQL Server \u7248\u3001Oracle \u7248\u306e\u4e21\u65b9\u3067\u3084\u3063\u3066\u307f\u307e\u3059\u3002 \u3084\u308a\u305f\u3044\u3053\u3068 \u9031\u5358\u4f4d\u306e [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":5240,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[18,26,29],"class_list":["post-568","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-database","tag-oracle","tag-sql","tag-sqlserver"],"_links":{"self":[{"href":"https:\/\/www.tech-tips.takmaru.com\/index.php?rest_route=\/wp\/v2\/posts\/568","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tech-tips.takmaru.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tech-tips.takmaru.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tech-tips.takmaru.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tech-tips.takmaru.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=568"}],"version-history":[{"count":0,"href":"https:\/\/www.tech-tips.takmaru.com\/index.php?rest_route=\/wp\/v2\/posts\/568\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.tech-tips.takmaru.com\/index.php?rest_route=\/wp\/v2\/media\/5240"}],"wp:attachment":[{"href":"https:\/\/www.tech-tips.takmaru.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=568"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tech-tips.takmaru.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=568"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tech-tips.takmaru.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=568"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}