1. 程式人生 > >巧用case進行分類求和(case & group by & sum)

巧用case進行分類求和(case & group by & sum)

table1
code(商品程式碼) price(價格) num(數量) type(買賣)
1 10 5 B
1 10 10 S
2 5 20 B
2 5 40 S

問題:

求商品(code)在某個價格(price)時買進(type=B)和賣出(type=S)的數量(num),並將其寫進table2

table2

code price Bnum Snum
備註:Bnum記錄的是type=B時的數量,Snum記錄的是type=S時的數量。

解答:

通常都是這樣子

SELECT code, price, sum(num)
FROM table1
GROUP BY code, price, type

然後再根據type進行處理,最後寫進table2。

其實還有更簡單的方法,那就是在SQL中使用case進行分類求和:

SELECT 
    code, 
    price, 
    SUM(CASE type='B' THEN num END) AS Bnum, 
    SUM(CASE type='S' THEN num END) AS Snum
FROM table1
GROUP BY code, price

這樣子,很方便的就進行了分類求和,達到事倍功半的效果,好好使用case吧!

相關推薦

case進行分類求和case & group by & sum

table1 code(商品程式碼) price(價格) num(數量) type(買賣) 1 10 5 B 1 10 10 S 2 5 20 B 2 5 40 S 問題: 求商品(code)在某個價格(price)時買進(type=B)和賣出(type=S)的數量(nu

VS2017進行移動開發C#、VB.NET——OfflineCameraButton控件的屬性、使用方式

send 什麽 ima 你在 nbsp .net for handles 成員變量 OfflineCameraButton控件 一、 樣式一 我們要實現上圖中的效果,需要如下的操作: 從工具欄上的“Smobiler Components”拖動一個Of

怎樣excel按進行分類求和,最後再根據一列對其他列進行排序

一:實驗目的 按商戶號分組,對交易筆數,交易金額,手續費進行分類求和。最後按交易筆數進行降序排序。  部分原始資料如下: 二:實驗步驟 2.1:用透視表實現分類彙總 插入->資料透視表, 在‘選擇一個表或區域’處會自動選擇所有資料區域:   新工作表是這樣形

識別有效的IP地址和掩碼並進行分類統計牛客網華為機試

先說一下遇到的坑,我是用Python3.5版本的,在牛客網上用input()輸入函式怎麼都通過不了,後來用了標準輸入sys.stdin.readline()就對了。有大神知道告訴我一聲,謝謝了。 import sys num_A = 0 num_B = 0 num_C =

OpenCV學習筆記——haar特徵訓練自己的分類再做手勢檢測

資料還是得看啊,又讀了經典文獻《Robust Real-Time Face Detection》,不願意讀原文的朋友可以看看http://blog.csdn.net/hqw7286/article/details/5556767,作者把文中的要點基本也都總結出來了。Ope

R進行meta分析meta包

1.異質性檢驗 install.packages("meta") library(meta) meta3<-metagen(metabirth3$β,metabirth3$se, sm="β",studlab=paste(author,year),comb.fix

OpenCV學習筆記三十三——haar特徵訓練自己的分類再做手勢檢測

資料還是得看啊,又讀了經典文獻《Robust Real-Time Face Detection》,不願意讀原文的朋友可以看看http://blog.csdn.net/hqw7286/article/details/5556767,作者把文中的要點基本也都總結出來了。Ope

excel中對數據進行分類求和

self 要求 數據透視表 放置 區域 標簽 工作表 選擇 數據 我們在用excel處理數據時,常常需要按不同的類別分別匯總數據。例如下圖中需要求出每個業務員的總銷售金額等。 通常情況下我們的數據量很大,而且需要較快的統計出來結果,所以我們要用一定的技巧才能計算出來

深度優先遍歷DFS查詢兩個結點的最近公共祖先

巧用深度優先遍歷(DFS)查詢兩個結點的最近祖先 今天在論壇上看到一個問題:已知一棵鏈式儲存的二叉樹上的兩個結點p、q,求解如何快速找到他們的公共祖先。 說實話,我的第一個念頭就是吐槽為什麼不

postgre——case、union、小計總計GROUP BY ROLLUP寫法

//將幾張不同表結構的資料全部合併在一起,使用了case、union,同時實現小計總計//小計總計使用的 GROUP BY ROLLUP函式,GROUP BY ROLLUP使用雙括號將欄位括起來,是將這些欄位分為一組,只會產生一個總計select case when t_a

最新ffmpeg編譯和eclipse進行原始碼除錯linux

轉自:http://blog.csdn.net/huangkangying/article/details/6434683   最近由於專案需要,必須修改ffmpeg的原始碼進行修改才能滿足專案的需求,但以前我從來沒有自己去編譯和使用ffmpeg的原始碼,一直都是用別人

js實現自動求和功能

<body> <form>form1"> <input> <input type="text" name="text2"> <input> <input type="text" name="text4"

PineApple進行三種不同的DNS的劫持

DNS劫持原理: 入侵者劫持一個區域內的DNS伺服器,當用戶進行域名訪問時,DNS將域名錯誤解析至入侵者的虛擬網站(一般與正確網站一模一樣),從而獲取使用者的賬戶資訊。 利用自己的網站將正確網站進行替換: 1)在shell內檢視需要進行欺騙的網站IP和想要拿來替換的網站IP

u3d CaptureScreenshot捕捉遊戲畫面截圖,截圖

Application.dataPath:此屬性用於返回程式的資料檔案所在資料夾的路徑。例如在Editor中就是Assets了。Application.streamingAssetsPath:此屬性用於返回流資料的快取目錄,返回路徑為相對路徑,適合設定一些外部資料檔案的路徑。Application.persi

switch case後接列舉用於判斷字串常量

c/c++ 語言不允許後面直接接字串。 c/c++ 語言case後面只允是整型、常量或表示式,例如: int k=3; switch(k) {     case 'd'-'a':           printf("d-a\n");         break;     c

深度學習Alexnet網路對影象進行分類/預測遷移學習

眾所周知,在MATLAB裡面非常方便對各種演算法和技術進行可行性實驗,前幾個月也很好奇用深度學習對影象進行分類,幸好新版本的MATLAB 2017能夠對深度學習提供支援:D,現在抽空把程式碼分享出來與大家共享~ 本文快速的用MATLAB對自己的影象資料集進行訓練和分類,小

在webform中事件進行對頁面程式碼與後臺程式碼的脫離

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %> <html xmlns="http://www.w3.org/1999/xht

利用MUI滑動進行利息計算移動端APP顯示

this 運行 row class mage -a 比較 top 2個 在開發移動端的應用時,會用到很多的手勢操作,比如滑動、長按等,為了方便開放者快速集成這些手勢,mui內置了常用的手勢事件,其中滑動應用是比較常見的應用操作,本篇文章將講述如何利用滑動改變對應值進行計算和

vue開發一個app2,main.js

.html 第一次用 courier ace 第一次 router -s 提示 新建 昨天跟著vue的官網搭建了vue的一個腳手架,我也是第一次用VUE一切都在摸索階段。 今天試著看下裏面腳手架裏面有點什麽東西 先看看main.js

小程式分類頁面左右滑動互不影響

  wxml: <view class="classify"> <!--分類導航欄--> <scroll-view class='left-navbar' scroll-y="true"> <view wx:for="{{